Linux集群部署项目

目录

一,环境准备

1.1.安装MySQL

1.2.安装JDK

1.3.安装TomCat

1.4.安装Nginx

二,部署

2.1.后台服务部署

2.2.Nginx配置负载均衡及静态资源部署


一,环境准备

1.1.安装MySQL

将MySQL的安装包上传至服务器

查看系统中是否存在mariadb,如果存在则安装mysql时会有冲突,需要先卸载mariadb

bash 复制代码
# 查看是系统中是否存在mariadb
rpm -qa|grep mariadb
bash 复制代码
# 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

执行完卸载命令后再次查看mariadb是否被删除显示什么都没有表示已经卸载

创建mysql用户及用户组

bash 复制代码
#创建用户组
groupadd mysql

#创建用户
useradd mysql -g mysql

解压刚开始传入服务器的MySQL压缩包

bash 复制代码
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

开始安装

bash 复制代码
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
bash 复制代码
# 初始化数据库
mysqld --initialize

更改目录及权限

bash 复制代码
# 更改mysql数据库目录的所属用户及用户组
chown mysql:mysql /var/lib/mysql -R

# mysql目录授权
cd /var/lib
chmod -R 777 mysql

初始化数据库及启动

bash 复制代码
# 启动数据库服务
systemctl start mysqld

查看MySQL的启动状态

启动成功后修改mysql的登录密码

sql 复制代码
-- 查看安装时生成的随机密码
grep 'password' /var/log/mysqld.log

使用随机密码登录

sql 复制代码
-- 登录数据的代码
mysql -u root -p

重置密码

sql 复制代码
set password = password('新密码');

授权外网登录权限

sql 复制代码
grant all privileges on *.*  to  root@'%' identified by 'mysql.com';

刷新权限

sql 复制代码
flush privileges;

退出

sql 复制代码
exit

将MySQL端口号3306加入到防火墙规则

bash 复制代码
# 配置防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 刷新防火墙规则
firewall-cmd --reload

# 关闭防火墙,不建议使用
systemctl stop firewalld.service
systemctl disable firewalld.service

用主机上的数据库管理软件测试一下

1.2.安装JDK
bash 复制代码
# 在/usr/local下创建java目录
mkdir /usr/local/java

将JDK安装包上传至服务器

将JDK解压到/usr/local/java目录

bash 复制代码
tar -zxf  jdk-8u151-linux-x64.tar.gz -C /usr/local/java

配置环境变量

bash 复制代码
vim /etc/profile

在配置文件中加入JAVA环境变量

bash 复制代码
export JAVA_HOME=JDK解压路径
export PATH=$PATH:${JAVA_HOME}/bin

保存并退出,让新设置的环境变量生效

bash 复制代码
source /etc/profile

检查JAVA安装是否成功

bash 复制代码
java -version
1.3.安装TomCat

将TomCat的安装包上传至服务器

将TomCat解压到/opt下

bash 复制代码
tar -zxf apache-tomcat-8.5.20.tar.gz -C /opt

配置环境变量

bash 复制代码
vim /etc/profile

# 加入TOMCAT_HOME环境变量
export TOMCAT_HOME=Tomcat解压路径

启动tomcat

来到安装的tomcat的bin目录,执行如下命令

bash 复制代码
./startup.sh

tomcat启动后并不能立即访问,原因是8080端口被防火墙阻止了,

可以关闭防火墙(不建议),或将8080端口配置到防火墙中。

bash 复制代码
# 将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,为所有用户增加可执行权限

bash 复制代码
# 将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随服务器自动启动

bash 复制代码
# 编辑/etc/init.d/tomcat
vim /etc/init.d/tomcat

# 加入如下注释,注意是注释,#
#chkconfig: 23456 10 90
#description: tomcat service

使用chkconfig --add命令添加服务

bash 复制代码
chkconfig --add tomcat

完成后即可开机自启

安装第如果需要安装多台TomCat可以照如上操作,如果是安装台同一台服务器上则需要更改TomCat的配置文件

进入TomCat安装目录下面的conf目录

bash 复制代码
cd /opt/apache-tomcat-8.5.20/conf

编辑server.xml

bash 复制代码
vim server.xml

找到8005,8080,8009这三个端口号将其改成与第一台或其他的TomCat不一样即可

1.4.安装Nginx

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装

bash 复制代码
yum install gcc-c++

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库

bash 复制代码
yum install -y pcre pcre-devel

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库

bash 复制代码
yum install -y zlib zlib-devel

OpenSSL 套接字层密码库,有主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

bash 复制代码
yum install -y openssl openssl-devel

wget下载Nginx

bash 复制代码
 wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

解压

bash 复制代码
tar -zxvf nginx-1.18.0.tar.gz

进入到Nginx的安装目录

bash 复制代码
cd nginx-1.18.0

配置安装

bash 复制代码
# 使用默认配置,命令在nginx目录中执行,执行完成会产生MakeFile等文件
./configure

# 编译并安装
make && make install

启动与停止

bash 复制代码
# 到命令所在目录
cd /usr/local/nginx/sbin/

# 启动
./nginx

# 停止,强制直接关停
./nginx -s stop

# 等待nginx进程处理完任务再停止
./nginx -s quit

# 重新加载配置文件
./nginx -s reload

配置Nginx自动启动

bash 复制代码
vim /etc/rc.d/rc.local     
bash 复制代码
/usr/local/nginx/sbin/nginx

修改/etc/rc.d/rc.local的权限

bash 复制代码
chmod 755 /etc/rc.d/rc.local

二,部署

2.1.后台服务部署

在部署前请先将后台服务的数据库连接修改为已安装配置好的mysq服务器的ip地址

之后将war包上传至tomcat的webapps目录下即可

2.2.Nginx配置负载均衡及静态资源部署

修改前端程序

注:

在部署前端程序时,需要先修改后台server的ip地址配置。

之后将前台程序打包

bash 复制代码
npm run build

将打包好的前端程序上传到Nginx服务器的html目录

nginx.conf配置

bash 复制代码
vim /usr/local/nginx/conf/nginx.conf

重新加载配置文件

bash 复制代码
[root@localhost sbin]# pwd
/usr/local/nginx/sbin
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# ./nginx -s reload

之后就可以通过nginx的地址访问部署好的项目了

相关推荐
软件技术员26 分钟前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
哎呦喂-ll37 分钟前
Linux进阶:环境变量
linux
耗同学一米八38 分钟前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
Rverdoser38 分钟前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb
PigeonGuan1 小时前
【jupyter】linux服务器怎么使用jupyter
linux·ide·jupyter
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
咖喱鱼蛋2 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char2 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm