当前位置: 首页 > news >正文

Linux--jdk、tomcat、环境配置,mysql安装、后端项目搭建

前言

上期我们讲到了安装linux虚拟机,这期我们来讲一下如何使用xshell和xftp在linux系统上搭建我们的单体项目


一、软件的传输

1.1 xftp

Xftp是一款功能强大的文件传输软件,用于在本地主机和远程服务器之间进行快速、安全的文件传输。它是由南京帆软科技开发的,与Xshell(SSH客户端)相辅相成,共同构成了帆软科技的网络管理解决方案。

以下是Xftp的主要特点和功能:

  1. 多种传输协议支持:Xftp支持多种传输协议,包括SFTP(SSH File Transfer Protocol)、FTP(File Transfer Protocol)和FTPS(FTP over SSL/TLS),可根据需要选择合适的协议进行文件传输。
  2. 可视化界面:Xftp提供了直观、用户友好的可视化界面,使文件传输操作更加简单和便捷。
  3. 安全传输:Xftp通过使用SSL/TLS协议和SSH的加密功能,确保文件传输过程中的数据安全性。
  4. 多线程传输:Xftp支持多线程传输技术,可以同时传输多个文件或文件夹,大大提高传输速度。
  5. 文件队列管理:Xftp提供了文件队列管理功能,用户可以将多个文件添加到队列中,按顺序传输,避免了手动处理每个文件的繁琐操作。
  6. 文件同步:Xftp支持文件同步功能,可以根据需求进行文件的自动同步,确保本地和远程服务器上的文件内容保持一致。
  7. 文件编辑:Xftp内置了文本编辑器,可以直接在远程服务器上进行文件的编辑和修改,节省了下载、编辑、上传的步骤。
  8. 文件压缩和解压缩:Xftp支持对目标文件进行压缩和解压缩操作,方便快捷地处理文件。
  9. 文件传输日志和报告:Xftp会记录传输过程中的日志信息,并生成传输报告,方便用户进行后续的查看和分析。

总之,Xftp是一款强大、易用的文件传输软件,适用于需要在本地主机和远程服务器之间进行文件传输的用户,如系统管理员、网站维护人员和开发人员等。

1.2 xshell

XSHELL - NetSarang Websiteicon-default.png?t=N7T8https://www.xshell.com/zh/xshell/

Xshell是一款功能强大的SSH(Secure Shell)客户端软件,它主要用于远程连接和管理Linux/Unix服务器。作为一个终端模拟器,Xshell提供了一个安全且可靠的途径来远程登录服务器,并通过命令行界面进行操作和管理。

Xshell具有以下特点和功能:

  1. SSH安全连接:通过SSH协议,Xshell提供了安全的加密通信,确保数据传输的机密性和完整性。
  2. 多会话管理:Xshell可以同时管理多个会话,比如同时连接多台远程服务器或设备,方便用户在不同的终端之间切换。
  3. 多种认证方式:Xshell支持密码、公钥、键盘交互等多种认证方式,用户可以根据需要选择合适的认证方式进行远程登录。
  4. 自动化操作:Xshell支持脚本编写和执行,可以自动化完成一系列操作,提高工作效率。
  5. 会话管理和保存:Xshell可以保存会话信息,包括服务器地址、用户名、密码等,方便用户下次登录时直接选择已保存的会话。
  6. 文件传输:Xshell内置了文件传输功能,可通过SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)在本地主机和远程服务器之间进行文件传输。
  7. 命令行编辑和快捷键:Xshell支持命令行编辑和自定义快捷键,方便用户进行文本编辑和操作。
  8. 字体和颜色配置:Xshell提供了丰富的字体和颜色配置选项,用户可以根据个人喜好进行界面的定制。

总之,Xshell是一款强大、易用的SSH客户端软件,适用于系统管理员、网络工程师和开发人员等远程管理服务器的用户。

1.3  利用xfpt进行软件传输

进入xftp可以看到提示我们连接主机,输入对应的IP地址即可

接下来就会让我们输入主机的用户名密码,输入完成以后即可看到一下内容

左边是我们本地的资源管理器,右边则是远程服务器的资源管理器,我们可以直接双击左边的文件夹,或者选中一个或多个,复制粘贴或者直接拖拽到右边即可完成两台服务器之间文件的传输

1.4 登录xshell

登入方式如同xftp一样,这里就不多说了

二、jdk的安装以及环境搭建

进入tools目录查看文件

2.1 解压安装jdk

#解压jdk
tar -zxvf jdk-8u151-linux-x64.tar.gz

 解压完成再次查看

2.2 配置jdk环境变量

回答根目录找到 etc/profile

#配置环境变量
vim /etc/profile

 编辑系统文件,在系统环境变量中添加Java环境变量

#java environment
export JAVA_HOME=/java/jdk1.8.0_151(jdk解压路径)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

最后设置环境变量生效

#设置环境变量生效
source /etc/profile

记得 Java -version看看是否配置成功,我这里忘记截图了

三、tomcat环境搭建及配置

解压tomcat

#解压tomcat
tar -zxvf apache-tomcat-8.5.20.tar.gz

回到tools目录,查看目录

 进入服务器bin目录

 启动tomcat

此时tomcat已经启动,但是我们能够访问吗,答案是不能,因为我们的远程服务器并没有开放tomcat的端口号,所以外部是无法访问的,所以我们需要更改防火墙的规则,开放端口号8080

 这里我顺便也把数据库端口号3306放开了

防火墙设置

#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

更新防火墙状态

我们再来查看防火墙规则

最后启动成功

四、mysql的安装以及环境搭建

4.1 mysql的安装

在安装mysql之前我们需要将linux自带的数据库进行删除,否则会起冲突

查看自带的数据库

rpm -qa|grep mariadb

删除

 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa|grep mariadb

删除数据库再次检查 

 创建文件夹将mysql压缩包解压至文件夹中

4.2 数据库环境搭建 

进入mysql/bin目录下载mysql

#4.开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
cd mysql-5.7
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm

 

启动mysql

systemctl start mysqld

查看mysql密码

grep "password" /var/log/mysqld.log

 登录mysql

在修改mysql密码之前我们需要设置mysql密码的校验,否则密码安全级别太低不允许通过

#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
#设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;

这里我有一段没截图,注意一下

修改数据库密码

set password = password("123456");

 

更新数据库

FLUSH PRIVILEGES; 

更改数据库的远程登录权限,如果不改,只能本机登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

 

再次更新数据库

4.3 远程登录数据库

五、单体项目部署以及前后端项目后端部署

5.1 项目部署

将项目jar包使用xftp传输到tomcat的webapps目录下

运行项目、注意要将项目所需的数据库文件导入远程服务器数据库,并且保证数据库配置信息吻合 ,如果不吻合,运行项目后,在xftp中待项目在tomcat中解压完成后,找到项目文件中的数据库配置文件修改保存即可

请求数据成功

5.2 修改访问端口号

有些朋友不想使用8080端口的,可以在xftp中打开tomcat/conf/server.xml

Ctrl+f 搜索8080 ,找到图中的内容,修改成8082

然后再进入xshell,再次开放远程服务器中的端口号8082即可访问

 82端口访问单体项目

82端口部署前后端分离项目后端部署

相关文章:

Linux--jdk、tomcat、环境配置,mysql安装、后端项目搭建

前言 上期我们讲到了安装linux虚拟机,这期我们来讲一下如何使用xshell和xftp在linux系统上搭建我们的单体项目 一、软件的传输 1.1 xftp Xftp是一款功能强大的文件传输软件,用于在本地主机和远程服务器之间进行快速、安全的文件传输。它是由南京帆软科…...

NOIP2023模拟10联测31 迷路

题目大意 你在野外迷路了, 你手里只有一张你当前所在的区域的地图。地图将整个区域表示为 n m n\times m nm的网格,你就在其中的某一个格子里。每个格子里要么有树,要么就什么都没有。地图显示了每个格子中是有树还是空的。当然,地图只记载…...

React Query + Redux toolkit 封装异步请求

当你需要进行 Redux 和 React Query 的组合时,除了常规的 Redux 方法(例如手动派发 action 和更新 state),还可以使用 createSlice 和 React Query 进行组合,这可以让你更方便地封装异步请求和更容易地更新状态。 使用…...

CSS基础知识点速览

1 基础认识 1.1 css的介绍 CSS:层叠样式表(Cascading style sheets) CSS作用&#xff1a; 给页面中的html标签设置样式 css写在style标签里&#xff0c;style标签一般在head标签里&#xff0c;位于head标签下。 <style>p{color: red;background-color: green;font-size…...

Windows 时间服务配置和配置工具

文章目录 Windows 时间服务保留Portw32tm 命令配置 Windows 时间服务配置客户端使用两个时间服务器配置客户端自动从域源同步时间检查客户端时间配置使用本地组策略编辑器配置Windows 时间注册表参考推荐阅读 Windows 时间服务 (W32Time) 为 Active Directory 域服务 (AD DS) 管…...

cmake find_package、引用GDAL 初步学习

上次的源码的CMakeLists.txt文件里有 find_package(GDAL REQUIRED) 这句; 从字面意思看此源码需要GDAL库; 查了一下,find_package 指令的基本功能是查找第三方库,并返回其细节; 我当前GDAL安装在D:\GDAL; 先把它的CMakeLists.txt重命名为别的,不使用; 新建一个C…...

紫光同创FPGA编写的8画面分割器演示

适用于板卡型号&#xff1a; 紫光同创PGL50H开发平台&#xff08;盘古50K开发板&#xff09; 图(1) 盘古50K开发板 TOP 层逻辑框 图(2) TOP层逻辑框 video_copy_ux 将输入的一路RGB888信号复制成8份&#xff0c;每份画面内容相同&#xff0c;各路颜色有些差异&#xff1a; 第…...

openLayers--绘制多边形、获取视图的中心点、获取当前地图等级、设置地图等级

openLayers绘制多边形、获取视图中心点 前言效果图1、导入LineString2、创建添加多边形3、定义多变形样式4、获取当前视图的中心点5、获取当前视图等级6、设置地图等级 前言 上一篇文章在vue项目中绘制了openlayers绘制了地图和标记点&#xff0c;本篇文章讲解openlayers绘制多…...

CSP-31补题日记--梯度求解

202309-3-梯度求解 题目链接 http://118.190.20.162/view.page?gpidT173 最近刚刚在上数据结构二叉树 跟这道题真的是强相关 然后在就是涉及到了数学求导 这基本上是我复学两个月做的最久的题了 感觉做完这道题对栈和二叉树理解比以前清晰了很多 不摆了 上代码 ** 题目思路&am…...

MySQL 8.0.32 union 语句中文查不到数据

关键字 MySQL union 语句&#xff0c;中文查不到数据 问题描述 MySQL 8.0.32 union 语句&#xff0c;中文查不到数据 解决问题思路 1、Create a table test with two fields, such as id and name mysql>create table test ( id int unsigned auto_increment key, name…...

FlinkCDC系列:通过skipped.operations参数选择性处理新增、更新、删除数据

在flinkCDC源数据配置&#xff0c;通过debezium.skipped.operations参数控制&#xff0c;配置需要过滤的 oplog 操作。操作包括 c 表示插入&#xff0c;u 表示更新&#xff0c;d 表示删除。默认情况下&#xff0c;不跳过任何操作&#xff0c;以逗号分隔。配置多个操作&#xff…...

高压检测设备

比如&#xff1a;高压数字表、高压差分探头、指针式高压表、电流探枪、高压探棒 这些设备都是用来测量高压的&#xff0c;有的测电压&#xff0c;有的测电流。 高压数字表&#xff1a; 单独使用&#xff0c;功能很简单&#xff0c;有2个正负极探爪&#xff0c;把2个探爪连接到…...

Vue3问题:如何实现组件拖拽实时预览功能?

前端功能问题系列文章&#xff0c;点击上方合集↑ 序言 大家好&#xff0c;我是大澈&#xff01; 本文约3000字&#xff0c;整篇阅读大约需要5分钟。 本文主要内容分三部分&#xff0c;第一部分是需求分析&#xff0c;第二部分是实现步骤&#xff0c;第三部分是问题详解。 …...

基于jsp的采购管理系统的分析与实现

物资采购管理系统是针对内部而设计的&#xff0c;应用于的局域网&#xff0c;这样可以使得内部管理更有效的联系起来。企业采购管理系统是将IT技术用于企业采购信息的管理, 它能够收集与存储企业采购的档案信息&#xff0c;提供更新与检索企业采购信息档案的接口&#xff1b;提…...

react配置二级路由

1.在createBrowserRouter上添加basename属性&#xff0c;比如 const RouterRender createBrowserRouter([{path: /,element: <App><Login></Login></App>},...SystemRouter,...InventoryRouter,...FlowManageRouter,{path: "*",element: &…...

C++ 模板特化

非类型模板参数 定义&#xff1a;对于函数模板和类模板&#xff0c;模板参数并不局限于类型&#xff0c;普通值也可以作为模板参数 非类型模板参数定义的是常量 template<typename T, size_t N> class array; //T&#xff1a;类型模板参数 //N&#xff1a;非类型模板参…...

Spring-createBean部分源码

createBean源码&#xff1a; /*** Central method of this class: creates a bean instance,* populates the bean instance, applies post-processors, etc.* see #doCreateBean*/ Override protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable …...

2015年亚太杯APMCM数学建模大赛C题识别网络中的错误连接求解全过程文档及程序

2015年亚太杯APMCM数学建模大赛 C题 识别网络中的错误连接 原题再现 网络是描述真实系统结构的强大工具——社交网络描述人与人之间的关系&#xff0c;万维网描述网页之间的超链接关系。随着现代技术的发展&#xff0c;我们积累了越来越多的网络数据&#xff0c;但这些数据部…...

js:可选链运算符(?.)和空值合并运算符(??)

文档&#xff1a; 可选链运算符&#xff08;?.&#xff09;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining空值合并运算符&#xff08;??&#xff09;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Referenc…...

【Java 进阶篇】Java ServletContext功能:获取文件服务器路径

Java ServletContext是Java EE中的一个核心接口&#xff0c;用于与Servlet容器进行通信&#xff0c;提供了许多有用的功能&#xff0c;包括获取文件服务器路径。在本文中&#xff0c;我们将详细介绍如何使用ServletContext来获取文件服务器路径&#xff0c;并提供示例代码以帮助…...

Android startActivity流程

1.常规调用 startActivity(new Intent(this,MainActivity.class)); 进入Activity的startActivity方法 /*** Same as {link #startActivity(Intent, Bundle)} with no options* specified.** param intent The intent to start.** throws android.content.ActivityNotFoundExc…...

Qt实验室

前言 本系列文章是研究和记录Qt开发过程中遇到的各种问题的集合 由于Qt是一个庞大的开发体系&#xff0c;很难用有限的文案对其做全面深入细致的讲解&#xff0c;因此市面上大多数Qt开发相关的教程都显得极其粗浅入门&#xff0c;通常只能作为最基本的入门教程。但是实际项目…...

diffusers-Load adapters

https://huggingface.co/docs/diffusers/main/en/using-diffusers/loading_adaptershttps://huggingface.co/docs/diffusers/main/en/using-diffusers/loading_adapters 有几种训练技术可以个性化扩散模型&#xff0c;生成特定主题的图像或某些风格的图像。每种训练方法都会产…...

CVI 串口调试助手

基于Labwindows CVI 2017编写的一个简单的串口调试助手&#xff0c;附带接收一个00–99的两位数并进行波形绘制的功能&#xff0c;编写过程可见&#xff1a;https://blog.csdn.net/Stark_/article/details/129003839 #include <ansi_c.h> #include <rs232.h> #incl…...

【蓝桥杯选拔赛真题48】python最小矩阵 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python最小矩阵 一、题目要求 1、编程实现 2、输入输出 二、算法分析...

如何在家庭网络中开启 IPv6内网穿透

随着互联网的不断发展&#xff0c;IPv4地址资源逐渐枯竭&#xff0c;而IPv6作为它的继任者&#xff0c;为网络连接提供了更多的IP地址。启用IPv6对于家庭网络来说变得越来越重要&#xff0c;因为它可以提供更稳定、更安全、更快速的互联网连接。本文将指导如何在家庭网络中启用…...

CodeWhisperer 的安装及体验

CodeWhisperer 是亚马逊出品的一款基于机器学习的通用代码生成器&#xff0c;可实时提供代码建议。类似 Cursor 和 Github Copilot 编码工具。 官网&#xff1a;aws.amazon.com/cn/codewhis… 在编写代码时&#xff0c;它会自动根据您现有的代码和注释生成建议。从单行代码建…...

【C/C++】虚析构和纯虚析构

纯虚析构的问题 多态使用时&#xff0c;如果子类中有属性开辟到堆区&#xff0c;那么父类指针在释放时无法调用到子类的析构代码。 解决方式&#xff1a;将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性&#xff1a; 可以解决父类指针释放子类对象都需要有…...

第四章 应用SysML基本特性集的汽车示例 P1|系统建模语言SysML实用指南学习

仅供个人学习记录 汽车模型 主要就是应用练习建模了 Automobile Domain包 用于组织模型的包图 将模型组织入包的包图 需求图捕获汽车规范 汽车规范中包含系统需求的需求图 块定义图定义车辆及其外部环境 汽车域块定义图 用例图表示操作车辆 描述车辆主要功能的用…...

C语言 写一个简易音乐播放器

#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <math.h>#define SAMPLE_RATE 44100 // 采样率 #define AMPLITUDE 32767 // 振幅 #define NO_SAMPLES 44100 // 样本数// 声明一个结构体用于表示音符 typedef struct {double …...