目录
一,环境准备
1.1.安装MySQL
1.2.安装JDK
1.3.安装TomCat
1.4.安装Nginx
二,部署
2.1.后台服务部署
2.2.Nginx配置负载均衡及静态资源部署
一,环境准备
1.1.安装MySQL
将MySQL的安装包上传至服务器
查看系统中是否存在mariadb,如果存在则安装mysql时会有冲突,需要先卸载mariadb
# 查看是系统中是否存在mariadb
rpm -qa|grep mariadb
# 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
执行完卸载命令后再次查看mariadb是否被删除显示什么都没有表示已经卸载
创建mysql用户及用户组
#创建用户组
groupadd mysql
#创建用户
useradd mysql -g mysql
解压刚开始传入服务器的MySQL压缩包
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
开始安装
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
// 安装之前,请先检查是否安装libaio,如果未安装请先安装之后再装server源
rpm -qa|grep libaio
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
# 初始化数据库
mysqld --initialize
更改目录及权限
# 更改mysql数据库目录的所属用户及用户组
chown mysql:mysql /var/lib/mysql -R
# mysql目录授权
cd /var/lib
chmod -R 777 mysql
初始化数据库及启动
# 启动数据库服务
systemctl start mysqld
查看MySQL的启动状态
启动成功后修改mysql的登录密码
-- 查看安装时生成的随机密码
grep 'password' /var/log/mysqld.log
使用随机密码登录
-- 登录数据的代码
mysql -u root -p
重置密码
set password = password('新密码');
授权外网登录权限
grant all privileges on *.* to root@'%' identified by 'mysql.com';
刷新权限
flush privileges;
退出
exit
将MySQL端口号3306加入到防火墙规则
# 配置防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙规则
firewall-cmd --reload
# 关闭防火墙,不建议使用
systemctl stop firewalld.service
systemctl disable firewalld.service
用主机上的数据库管理软件测试一下
1.2.安装JDK
# 在/usr/local下创建java目录
mkdir /usr/local/java
将JDK安装包上传至服务器
将JDK解压到/usr/local/java目录
tar -zxf jdk-8u151-linux-x64.tar.gz -C /usr/local/java
配置环境变量
vim /etc/profile
在配置文件中加入JAVA环境变量
export JAVA_HOME=JDK解压路径
export PATH=$PATH:${JAVA_HOME}/bin
保存并退出,让新设置的环境变量生效
source /etc/profile
检查JAVA安装是否成功
java -version
1.3.安装TomCat
将TomCat的安装包上传至服务器
将TomCat解压到/opt下
tar -zxf apache-tomcat-8.5.20.tar.gz -C /opt
配置环境变量
vim /etc/profile
# 加入TOMCAT_HOME环境变量
export TOMCAT_HOME=Tomcat解压路径
启动tomcat
来到安装的tomcat的bin目录,执行如下命令
./startup.sh
tomcat启动后并不能立即访问,原因是8080端口被防火墙阻止了,
可以关闭防火墙(不建议),或将8080端口配置到防火墙中。
# 将8080端口加入到防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# reload防火墙规则
firewall-cmd --reload
修改防火墙之后,访问http://192.168.11.137:8080/,如果看到tomcat的管理页面,则说明成功。
创建启动脚本
将tomcat目录下bin中的catalina.sh拷贝到/etc/init.d下,重命名为tomcat,为所有用户增加可执行权限
# 将catalina.sh拷贝到init.d目录下
cp /opt/apache-tomcat-8.5.20/bin/catalina.sh /etc/init.d
# 在init.d目录下为catalina.sh重命名
mv catalina.sh tomcat
# 为所有用户赋可执行权限
chmod a+x tomcat
# 编辑tomcat
vim /etc/init.d/tomcat
# 进入编辑界面,加入如下内容,注意根据自己的环境配置
#!/bin/sh
JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/opt/apache-tomcat-8.5.20
#测试启动脚本
service tomcat status # 查看服务状态,q键退出
service tomcat start # 启动服务
service tomcat restart # 重启服务
service tomcat stop # 停止服务
service --status-all # 查看服务列表 q键退出
配置TomCat随服务器自动启动
# 编辑/etc/init.d/tomcat
vim /etc/init.d/tomcat
# 加入如下注释,注意是注释,#
#chkconfig: 23456 10 90
#description: tomcat service
使用chkconfig --add命令添加服务
chkconfig --add tomcat
完成后即可开机自启
安装第如果需要安装多台TomCat可以照如上操作,如果是安装台同一台服务器上则需要更改TomCat的配置文件
进入TomCat安装目录下面的conf目录
cd /opt/apache-tomcat-8.5.20/conf
编辑server.xml
vim server.xml
找到8005,8080,8009这三个端口号将其改成与第一台或其他的TomCat不一样即可
1.4.安装Nginx
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装
yum install gcc-c++
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库
yum install -y pcre pcre-devel
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库
yum install -y zlib zlib-devel
OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel
wget下载Nginx
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
解压
tar -zxvf nginx-1.18.0.tar.gz
进入到Nginx的安装目录
cd nginx-1.18.0
配置安装
# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure
# 编译并安装
make && make install
启动与停止
# 到命令所在目录
cd /usr/local/nginx/sbin/
# 启动
./nginx
# 停止,强制直接关停
./nginx -s stop
# 等待nginx进程处理完任务再停止
./nginx -s quit
# 重新加载配置文件
./nginx -s reload
配置Nginx自动启动
vim /etc/rc.d/rc.local
/usr/local/nginx/sbin/nginx
修改/etc/rc.d/rc.local的权限
chmod 755 /etc/rc.d/rc.local
二,部署
2.1.后台服务部署
在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址
之后将war包上传至tomcat的webapps目录下即可
2.2.Nginx配置负载均衡及静态资源部署
修改前端程序
注:
在部署前端程序时,需要先修改后台server的ip地址配置。
之后将前台程序打包
npm run build
将打包好的前端程序上传到Nginx服务器的html目录
nginx.conf配置
vim /usr/local/nginx/conf/nginx.conf
重新加载配置文件
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload
之后就可以通过nginx的地址访问部署好的项目了