Linux环境下部署web项目详细步骤——CentOS7

腾讯云Linux环境下部署项目步骤

前期准备

本项目以腾讯云CentOS7 64位系统为例

提前准备:

  • Linux云服务器

  • 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_第1张图片

  • Xshell连接远程服务器

Linux环境下部署web项目详细步骤——CentOS7_第2张图片

  • 建立连接填写服务器密码

Linux环境下部署web项目详细步骤——CentOS7_第3张图片
出现如下界面连接成功!

Linux环境下部署web项目详细步骤——CentOS7_第4张图片

传输Linux下部署web项目所需安装包

在Xshell中,首先将目录切换至/home目录

Linux环境下部署web项目详细步骤——CentOS7_第5张图片
1.点击
Linux环境下部署web项目详细步骤——CentOS7_第6张图片

2.出现如下界面:将文件拖入服务器/home目录下
Linux环境下部署web项目详细步骤——CentOS7_第7张图片

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_第8张图片

将除了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. systemctl  enable 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_第9张图片

通过 mysql -uroot -p 敲回车键进入数据库登陆界面

输出刚刚获得的数据库初始密码进入数据库,复制粘贴即可,登录时不显示密码

Linux环境下部署web项目详细步骤——CentOS7_第10张图片

在Mysql命令下,输入如下命令,将密码初始化为root(可根据需求自行更改)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

成功后退出,再次进入mysql通过新密码进行登录
Linux环境下部署web项目详细步骤——CentOS7_第11张图片

配置服务器远程登录

因服务器端并无图形化界面显示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_第12张图片
添加如上端口,命令如下(除以下端口,自己项目所需开放端口自行设置):


-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_第13张图片

建立连接

Linux环境下部署web项目详细步骤——CentOS7_第14张图片

连接成功

然后建立数据表(根据项目需求,如不清楚请查看项目配置文件)

Linux环境下部署web项目详细步骤——CentOS7_第15张图片

建表格式为:
Linux环境下部署web项目详细步骤——CentOS7_第16张图片

然后在所需数据库中,右键运行sql文件即可
Linux环境下部署web项目详细步骤——CentOS7_第17张图片
此刻数据库工作完成

导出war包

通过idea导出项目war包

Linux环境下部署web项目详细步骤——CentOS7_第18张图片
2.Linux环境下部署web项目详细步骤——CentOS7_第19张图片

3.点击+号后弹出以下界面,选择如图:
Linux环境下部署web项目详细步骤——CentOS7_第20张图片
4.在下图中,自行设置输出war包目录
Linux环境下部署web项目详细步骤——CentOS7_第21张图片

5.返回后,点击工具栏中Build
Linux环境下部署web项目详细步骤——CentOS7_第22张图片
Linux环境下部署web项目详细步骤——CentOS7_第23张图片
Build后即可,然后到输出路径,使用Xftp将war包传输至tomact目录下webapp目录,等待tomcat自动解压,完成后即可访问。

修改项目地址为tomcat首页

若需要更改首页为项目地址,方案如下:

1.修改tomcat的核心配置文件server.xml,将默认的8080端口更改为80端口

在这里插入图片描述

在server.xml文件的前添加如下一行代码

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

你可能感兴趣的:(工具使用,java,centos,linux,mysql)