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的地址访问部署好的项目了

相关推荐
苹果醋321 分钟前
大模型实战--FastChat一行代码实现部署和各个组件详解
java·运维·spring boot·mysql·nginx
萧鼎44 分钟前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
GodK7771 小时前
IP 数据包分包组包
服务器·网络·tcp/ip
梁诚斌1 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
深情废杨杨1 小时前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc1 小时前
Linux 进程优先级
linux·运维·服务器
Web极客码1 小时前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板
hhzz1 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar
只是有点小怂1 小时前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
代码雕刻家2 小时前
数据结构-3.10.队列的应用
服务器·数据结构