工具使用|Linux环境下部署web项目详细步骤——CentOS7

腾讯云Linux环境下部署项目步骤 前期准备
本项目以腾讯云CentOS7 64位系统为例
提前准备:

  • Linux云服务器
  • 【工具使用|Linux环境下部署web项目详细步骤——CentOS7】Xshell(连接远程服务器)、XFtp(文件传输)
  • web项目所需Linux安装包
    如有需要,附所需安装包地址(tomcat、jdk1.8,无数据库):
    https://download.csdn.net/download/weixin_42532968/12280868
    因为MySQL安装包过大,需要至官网下载
    https://dev.mysql.com/downloads/mysql/
    工具使用|Linux环境下部署web项目详细步骤——CentOS7
    文章图片

  • Xshell连接远程服务器
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

  • 建立连接填写服务器密码
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

出现如下界面连接成功!
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

传输Linux下部署web项目所需安装包
在Xshell中,首先将目录切换至/home目录
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

1.点击
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

2.出现如下界面:将文件拖入服务器/home目录下
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

jdk安装(rpm安装)
1、rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
2、如果有安装openjdk 则卸载
[root@ ~]# java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) # 检查 [root@ ~]# rpm -qa|grep jdk jdk1.8.0_121-1.8.0_121-fcs.x86_64 # 卸载 -e --nodeps 强制删除 [root@ ~]# rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64 [root@ ~]# java -version -bash: /usr/bin/java: No such file or directory# OK

3、安装JDK,切换至home目录
# 安装java rpm [root@ ]# rpm -ivh jdk-8u221-linux-x64.rpm# 测试 java -version [root@kuangshen java]# java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

Tomcat安装(解压缩安装)
1、安装好了Java环境后,准备好Tomcat的安装包!
2、在/usr/目录下新建tomcat目录:mkdir tomcat
3、将home目录下tomcat文件移动到/usr/tomcat/下,并解压
[root@ home]# mv apache-tomcat-9.0.22.tar.gz /usr [root@ home]# cd /usr/tomcat [root@ tomcat]# ls apache-tomcat-9.0.22.tar.gz [root@ tomcat]# tar -zxvf apache-tomcat-9.0.22.tar.gz# 解压

3、运行Tomcat,进入bin目录
# 执行:startup.sh -->启动tomcat # 执行:shutdown.sh -->关闭tomcat ./startup.sh ./shutdown.sh

4、确保Linux的防火墙端口是开启的主要端口:80、443、3306、8080端口打开,其余端口根据自己项目进行配置如果是阿里云,需要保证阿里云的安全组策略是开放的!命令如下
# 查看firewall服务状态 systemctl status firewalld# 开启、重启、关闭、firewalld.service服务 # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop# 查看防火墙规则 firewall-cmd --list-all# 查看全部信息 firewall-cmd --list-ports# 只看端口信息# 开启端口 开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent ***重启防火墙:systemctl restart firewalld.service 或:firewall-cmd --reload 命令含义: --zone #作用域 --add-port=80/tcp#添加端口,格式为:端口/通讯协议 --permanent#永久生效,没有此参数重启后失效

安装Mysql服务器
首先检查是否有以前版本,使用如下命令:
rpm -qa | grep -i mysql(检查之前版本)
yum -y remove mysql-libs*(卸载之前安装所有)
进入官网
1.Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
2.选择 RPM Bundle 点击 Download
3.通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的,创建mysql文件夹
cd /usr/local/mysql

将刚刚下载好的文件移动到此解压
tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar命令解压tar 包

工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

将除了rpm-bundle.tar包之外的所有rpm包进行安装,命令如下:
rpm -ivh rpm安装包名称 --nodeps --force 例如:rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm --nodeps --force

将所有rpm包安装后,初始化mysql数据库 注意: 因为windows下Mysql是不区分大小写的,也就是 lower_case_table_names=1
而Linux系统下安装Mysql后,系统默认是明确区分大小写,因此注意设置。
修改数据库是否区分大小写方法(若不需要请忽略)
在mysql下使用命令查看数据库是否区分大小写: show variables like '%lower%'; //结果为0是区分,1是不区分

  1. 开mysql配置文件
    vim /etc/my.cnf
  2. 在尾部追加一行
    lower_case_table_names=1
    并保存,然后再初始化数据库。
  3. 重启mysql,
    systemctl restart mysqld.service
如果这个操作是初始化数据库之后,也就是安装后运行过服务,那就可能会出错。
错误类似于Job for mysqld.service failed because the control process exited with error...
然后就无法启动 mysql 服务了,除非打开 vim /etc/my.cnf把追加的lower_case_table_names=1删除掉。
解决方法如下(不在意数据)
  1. 停止MySQL
    systemctl stop mysqld.service
  2. 删除 MySQL的数据 /var/lib/mysql
    rm -rf /var/lib/mysql
  3. 此时按照以下的方法进行操作即可。
接下来开始初始化初始化mysql数据库
1. mysqld --initialize; 2. chown mysql:mysql /var/lib/mysql -R; 3. systemctl start mysqld.service; 4. systemctlenable mysqld;

若出现:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory错误,
请输入以下命令:
yum install -y libaio //安装后在执行上述命令
此时数据库密码为mysql自行设置,需要通过如下命令:
cat /var/log/mysqld.log | grep password

查看数据库密码
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

通过 mysql -uroot -p 敲回车键进入数据库登陆界面
输出刚刚获得的数据库初始密码进入数据库,复制粘贴即可,登录时不显示密码
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

在Mysql命令下,输入如下命令,将密码初始化为root(可根据需求自行更改)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

成功后退出,再次进入mysql通过新密码进行登录
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

配置服务器远程登录
因服务器端并无图形化界面显示mysql,因此作者采用使用本地远程登录服务器方式进行登录
配置远程访问用户授权
create user 'root'@'%' identified with mysql_native_password by 'root'; //创建远程登录密码为root,但服务器远程登录建议使用复杂密码!!! grant all privileges on *.* to 'root'@'%' with grant option; //添加数据库所有权限给远程用户 flush privileges; //刷新数据库权限 通过 ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。 flush privileges;

配置防火墙
1.首先关闭firewall
1. systemctl stop firewalld.service; 2. systemctl disable firewalld.service; 3. systemctl mask firewalld.service;

2.通过yum -y install iptables-services 安装iptables防火墙
3.通过以下命令启动设置防火墙
systemctl enable iptables; systemctl start iptables;

4.通过vim /etc/sysconfig/iptables命令添加端口
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

添加如上端口,命令如下(除以下端口,自己项目所需开放端口自行设置):
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j ACCEPT

添加完成后退出vim,通过:
systemctl restart iptables.service 命令重启防火墙使配置生效 systemctl enable iptables.service 命令设置防火墙开机启动

通过windows或其他平台可视化软件远程连接数据库,笔者使用windows平台的navicat软件
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

建立连接
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

连接成功
然后建立数据表(根据项目需求,如不清楚请查看项目配置文件)
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

建表格式为:
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

然后在所需数据库中,右键运行sql文件即可
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

此刻数据库工作完成
导出war包 通过idea导出项目war包
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

2.工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

3.点击+号后弹出以下界面,选择如图:
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

4.在下图中,自行设置输出war包目录
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

5.返回后,点击工具栏中Build
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

Build后即可,然后到输出路径,使用Xftp将war包传输至tomact目录下webapp目录,等待tomcat自动解压,完成后即可访问。
修改项目地址为tomcat首页 若需要更改首页为项目地址,方案如下:
1.修改tomcat的核心配置文件server.xml,将默认的8080端口更改为80端口
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

在server.xml文件的前添加如下一行代码
工具使用|Linux环境下部署web项目详细步骤——CentOS7
文章图片

注意:docBase内值为项目的名称,按需修改,reloadable="true"表示修改了jsp文件后不需要重启就可以实现显示的同步。此时即可通过服务器Ip访问项目。部署完毕

    推荐阅读