Linux--jdk、tomcat、环境配置,mysql安装、后端项目搭建
前言
上期我们讲到了安装linux虚拟机,这期我们来讲一下如何使用xshell和xftp在linux系统上搭建我们的单体项目
一、软件的传输
1.1 xftp
Xftp是一款功能强大的文件传输软件,用于在本地主机和远程服务器之间进行快速、安全的文件传输。它是由南京帆软科技开发的,与Xshell(SSH客户端)相辅相成,共同构成了帆软科技的网络管理解决方案。
以下是Xftp的主要特点和功能:
- 多种传输协议支持:Xftp支持多种传输协议,包括SFTP(SSH File Transfer Protocol)、FTP(File Transfer Protocol)和FTPS(FTP over SSL/TLS),可根据需要选择合适的协议进行文件传输。
- 可视化界面:Xftp提供了直观、用户友好的可视化界面,使文件传输操作更加简单和便捷。
- 安全传输:Xftp通过使用SSL/TLS协议和SSH的加密功能,确保文件传输过程中的数据安全性。
- 多线程传输:Xftp支持多线程传输技术,可以同时传输多个文件或文件夹,大大提高传输速度。
- 文件队列管理:Xftp提供了文件队列管理功能,用户可以将多个文件添加到队列中,按顺序传输,避免了手动处理每个文件的繁琐操作。
- 文件同步:Xftp支持文件同步功能,可以根据需求进行文件的自动同步,确保本地和远程服务器上的文件内容保持一致。
- 文件编辑:Xftp内置了文本编辑器,可以直接在远程服务器上进行文件的编辑和修改,节省了下载、编辑、上传的步骤。
- 文件压缩和解压缩:Xftp支持对目标文件进行压缩和解压缩操作,方便快捷地处理文件。
- 文件传输日志和报告:Xftp会记录传输过程中的日志信息,并生成传输报告,方便用户进行后续的查看和分析。
总之,Xftp是一款强大、易用的文件传输软件,适用于需要在本地主机和远程服务器之间进行文件传输的用户,如系统管理员、网站维护人员和开发人员等。
1.2 xshell
XSHELL - NetSarang Website
https://www.xshell.com/zh/xshell/
Xshell是一款功能强大的SSH(Secure Shell)客户端软件,它主要用于远程连接和管理Linux/Unix服务器。作为一个终端模拟器,Xshell提供了一个安全且可靠的途径来远程登录服务器,并通过命令行界面进行操作和管理。
Xshell具有以下特点和功能:
- SSH安全连接:通过SSH协议,Xshell提供了安全的加密通信,确保数据传输的机密性和完整性。
- 多会话管理:Xshell可以同时管理多个会话,比如同时连接多台远程服务器或设备,方便用户在不同的终端之间切换。
- 多种认证方式:Xshell支持密码、公钥、键盘交互等多种认证方式,用户可以根据需要选择合适的认证方式进行远程登录。
- 自动化操作:Xshell支持脚本编写和执行,可以自动化完成一系列操作,提高工作效率。
- 会话管理和保存:Xshell可以保存会话信息,包括服务器地址、用户名、密码等,方便用户下次登录时直接选择已保存的会话。
- 文件传输:Xshell内置了文件传输功能,可通过SCP(Secure Copy)或SFTP(SSH File Transfer Protocol)在本地主机和远程服务器之间进行文件传输。
- 命令行编辑和快捷键:Xshell支持命令行编辑和自定义快捷键,方便用户进行文本编辑和操作。
- 字体和颜色配置: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作用: 给页面中的html标签设置样式 css写在style标签里,style标签一般在head标签里,位于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画面分割器演示
适用于板卡型号: 紫光同创PGL50H开发平台(盘古50K开发板) 图(1) 盘古50K开发板 TOP 层逻辑框 图(2) TOP层逻辑框 video_copy_ux 将输入的一路RGB888信号复制成8份,每份画面内容相同,各路颜色有些差异: 第…...
openLayers--绘制多边形、获取视图的中心点、获取当前地图等级、设置地图等级
openLayers绘制多边形、获取视图中心点 前言效果图1、导入LineString2、创建添加多边形3、定义多变形样式4、获取当前视图的中心点5、获取当前视图等级6、设置地图等级 前言 上一篇文章在vue项目中绘制了openlayers绘制了地图和标记点,本篇文章讲解openlayers绘制多…...
CSP-31补题日记--梯度求解
202309-3-梯度求解 题目链接 http://118.190.20.162/view.page?gpidT173 最近刚刚在上数据结构二叉树 跟这道题真的是强相关 然后在就是涉及到了数学求导 这基本上是我复学两个月做的最久的题了 感觉做完这道题对栈和二叉树理解比以前清晰了很多 不摆了 上代码 ** 题目思路&am…...
MySQL 8.0.32 union 语句中文查不到数据
关键字 MySQL union 语句,中文查不到数据 问题描述 MySQL 8.0.32 union 语句,中文查不到数据 解决问题思路 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源数据配置,通过debezium.skipped.operations参数控制,配置需要过滤的 oplog 操作。操作包括 c 表示插入,u 表示更新,d 表示删除。默认情况下,不跳过任何操作,以逗号分隔。配置多个操作ÿ…...
高压检测设备
比如:高压数字表、高压差分探头、指针式高压表、电流探枪、高压探棒 这些设备都是用来测量高压的,有的测电压,有的测电流。 高压数字表: 单独使用,功能很简单,有2个正负极探爪,把2个探爪连接到…...
Vue3问题:如何实现组件拖拽实时预览功能?
前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约3000字,整篇阅读大约需要5分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …...
基于jsp的采购管理系统的分析与实现
物资采购管理系统是针对内部而设计的,应用于的局域网,这样可以使得内部管理更有效的联系起来。企业采购管理系统是将IT技术用于企业采购信息的管理, 它能够收集与存储企业采购的档案信息,提供更新与检索企业采购信息档案的接口;提…...
react配置二级路由
1.在createBrowserRouter上添加basename属性,比如 const RouterRender createBrowserRouter([{path: /,element: <App><Login></Login></App>},...SystemRouter,...InventoryRouter,...FlowManageRouter,{path: "*",element: &…...
C++ 模板特化
非类型模板参数 定义:对于函数模板和类模板,模板参数并不局限于类型,普通值也可以作为模板参数 非类型模板参数定义的是常量 template<typename T, size_t N> class array; //T:类型模板参数 //N:非类型模板参…...
Spring-createBean部分源码
createBean源码: /*** 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题 识别网络中的错误连接 原题再现 网络是描述真实系统结构的强大工具——社交网络描述人与人之间的关系,万维网描述网页之间的超链接关系。随着现代技术的发展,我们积累了越来越多的网络数据,但这些数据部…...
js:可选链运算符(?.)和空值合并运算符(??)
文档: 可选链运算符(?.)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining空值合并运算符(??)https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Referenc…...
【Java 进阶篇】Java ServletContext功能:获取文件服务器路径
Java ServletContext是Java EE中的一个核心接口,用于与Servlet容器进行通信,提供了许多有用的功能,包括获取文件服务器路径。在本文中,我们将详细介绍如何使用ServletContext来获取文件服务器路径,并提供示例代码以帮助…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
