当前位置: 首页 > news >正文

企业级部署 (基于tomcat与nginx)

一、基础环境准备

1. 服务器初始化(所有节点)

[root@everyone ~]# systemctl disable --now firewalld
[root@everyone ~]# setenforce 0

二、按角色部署

1、挂载点

[root@elk-nfs ~]# yum install -y nfs-utils
[root@elk-nfs ~]# vim /etc/exports
[root@elk-nfs ~]# exportfs -arv

2、应用服务器

web-01:192.168.11.75 

web-02:192.168.11.76

[root@web-01 ~]# yum install -y nfs-utils nginx php-mysqlnd php php-fpm 

nginx

挂载

配置文件

创建登录用户
mysql> create user 'ultrax'@'192.168.11.%' identified by 'Q1w2e3@123!!!!!';mysql> grant all on ultrax.* to 'ultrax'@'192.168.11.%';mysql> create database ultrax;mysql> flush privileges;

域名访问

 tomcat

[root@web-02 tomcat]# ln -s /usr/local/tomcat/tomcat/apache-tomcat-8.5.40/bin/startup.sh /usr/local/bin/tomcat_start
[root@web-02 tomcat]# ln -s /usr/local/tomcat/tomcat/apache-tomcat-8.5.40/bin/shutdown.sh /usr/local/bin/tomcat_stop
[root@web-02 tomcat]# yum install -y java-1.8.0-openjdk-devel
[root@web-02 webapps]# tomcat_start
创建登录用户
创建库并导库
修改配置
[root@web-02 biyesheji]# pwd
/usr/local/tomcat/tomcat/apache-tomcat-8.5.40/webapps/biyesheji
[root@web-02 biyesheji]# vim WEB-INF/classes/jdbc.properties 

[root@web-02 biyesheji]# pwd
/usr/local/tomcat/tomcat/apache-tomcat-8.5.40/webapps/biyesheji
[root@web-02 biyesheji]# vim index.jsp 

添加域名

默认访问端口号,访问路径
[root@web-02 conf]# pwd
/usr/local/tomcat/tomcat/apache-tomcat-8.5.40/conf
[root@web-02 conf]# vim server.xml 

web每台都配置 nginx与tomcat  访问文件指向相同

nginx端配置 tomcat 

拷贝tomcat文件 更改访问路径

3、Redis高可用

redis-01: 192.168.11.77

redis-02: 192.168.11.78

[root@redis-01/redis-02 ~]# yum install -y redis

主从复制

redis-01端
[root@redis-01 ~]# vim /etc/redis/redis.conf 

redis-02端
[root@redis-02 ~]# vim /etc/redis/redis.conf 

验证

故障转移 
脚本
[root@redis-01 ~]# vim /etc/keepalived/check_redis.sh
[root@redis-01 ~]# chmod +x /etc/keepalived/check_redis.sh

[root@redis-01 ~]# vim  /etc/keepalived/keepalived.conf

修改论坛 redis 缓存

4、MySQL高可用

db-01: 192.168.11.79

db-02: 192.168.11.80

[root@db-01/db-02 ~]# cat  <<e >> /etc/yum.repos.d/mysql-wsrep.repo
[galera]
name=galera
baseurl=http://releases.galeracluster.com/mysql-wsrep-8.0/redhat/8/x86_64/
enabled=1
gpgcheck=0
e
[root@db-01/db-02 ~]# yum install -y mysql-wsrep-8.0 galera 

Galera配置

db-01端
[root@db-01 ~]# systemctl start mysqld
[root@db-01 ~]# password=$(cat /var/log/mysqld.log  | awk '/[^_]password/{print $NF}' | tr -d ' ')
[root@db-01 ~]# echo $password
up2Rco62N&2Z
[root@db-01 ~]# mysqladmin -p password 'Q1w2e3@123!!!!!'

[root@db-01 ~]# vim /etc/hosts

[root@db-01 ~]# mysql -uroot -p'Q1w2e3@123!!!!!'mysql> CREATE USER 'syncuser'@'%' IDENTIFIED BY 'Q1w2e3@123!!!!!';mysql> GRANT ALL PRIVILEGES ON *.* TO 'syncuser'@'%';mysql> FLUSH PRIVILEGES;

server-id=1  # 服务器 ID,用于唯一标识 MySQL 服务器
binlog_format=row  # 二进制日志格式,行级别
innodb_file_per_table=1  # 为每个 InnoDB 表使用一个独立的表空间文件
innodb_autoinc_lock_mode=2  # 自增锁模式,2表示更高效的锁模式wsrep_on=ON  # 启用 Galera 集群
wsrep_provider=/usr/lib64/galera/libgalera_smm.so  # Galera 提供者库的路径
wsrep_cluster_name='galera'  # Galera 集群的名称   
wsrep_cluster_address='gcomm://db-01,db-02'  # Galera 集群的地址,通常为 `gcomm://` 表示集群初始节点
wsrep_node_name='db-01'  # 当前节点的名称
wsrep_node_address='192.168.11.79'  # 当前节点的 IP 地址
wsrep_sst_auth=syncuser:'Q1w2e3@123!!!!!'  # SST(状态快照传输)认证信息
wsrep_sst_method=rsync  # SST 方法,使用 rsync 进行状态快照传输

db-02端

验证

启动不了时,可以先将集群地址改为初始节点,启动db-01后 ,再启动db-02,添加节点重启db-01

故障转移

脚本

keep端 主

keep 从

mysql端

验证

修改discuz的mysql端
[root@web-01 ~]# vim /var/www/discuz/nginx/upload/config/config_ucenter.php

[root@web-01 ~]# vim /var/www/discuz/nginx/upload/config/config_global.php

5、代理层

[root@lb-01/lb-02 ~]#  yum install -y haproxy keepalived 

haproxy(主备都一样)

 keep端

6、域名访问 

在nginx与tomcat端定义域名
在haproxy端定义域名

在外部机上
C:\Windows\System32\drivers\etc\hosts

验证

7、rsync 同步

源端 192.168.11.81

备份端 192.168.11.82

备份端
[root@rsync ~]# yum install -y rsync 
[root@rsync ~]# vim /etc/rsyncd.conf 

创建目录 及密码本
[root@rsync ~]# mkdir -p /data/backup/ 
[root@rsync ~]#  chmod 755 /data/backup/
[root@rsync ~]#  echo "rsyncuser:123.com" > /etc/rsyncd.password
[root@rsync ~]# chmod 600 /etc/rsyncd.password 

源端

下载sersync服务

修改配置文件

[root@elk-nfs GNU-Linux-x86]# vim confxml.xml 

添加密码本
[root@elk-nfs GNU-Linux-x86]# echo "123.com" > /etc/rsyncd.password 
[root@elk-nfs sersync]# chmod 600 /etc/rsyncd.password 

启动

源端

[root@elk-nfs ~]# /etc/sersync/GNU-Linux-x86/sersync2 -d -r -o /etc/sersync/GNU-Linux-x86/confxml.xml

备份端
[root@rsync ~]#  rsync --daemon --config=/etc/rsyncd.conf

设为开机自启

备份端

源端
[root@elk-nfs data]# vim /etc/systemd/system/sersync.service

http://www.lryc.cn/news/606521.html

相关文章:

  • Linux和shell
  • 【运维基础】Linux 文件系统基本管理
  • Side band ECC、Inline ECC、On-die ECC、Link ECC
  • chrome.storage 和 localStorage
  • Android 基础入门学习目录(持续更新)
  • kettle插件-kettle http client plus插件,轻松解决https接口无法调用文件流下载问题
  • 面试笔记【16:9区域问题】
  • SQL注入SQLi-LABS 靶场less25a-28a详细通关攻略
  • ESP32 外设驱动开发指南 (ESP-IDF框架)——GPIO篇:基础配置、外部中断与PWM(LEDC模块)应用
  • 机械学习--逻辑回归
  • 第1章:基础篇——第1节:基础操作与认识界面
  • Vercel 全面介绍与网站部署指南
  • 老旧远程控制管理模块(物联网设备)渗透实战:SNMP泄露+内核提权攻击链深度解析
  • Gold 序列
  • 7月31号打卡
  • nvm安装nodejs后提示No installations recognized
  • 爱普生002墨水与004墨水基本参数及支持机型
  • pyspark使用
  • 火焰图(Flame Graph)深度指南:CPU性能分析与瓶颈定位
  • STM32——HAL 库MDK工程创建
  • 计算机网络知识【推荐!!!】按照OSI七层模型梳理
  • 动手学习深度学习-深度学习知识大纲
  • Spring Boot + MinIO + KKFile:三步搭建企业级文件预览系统
  • SpringBoot3.x入门到精通系列:1.2 开发环境搭建
  • 前端核心技术Node.js(二)——path模块、HTTP与模块化
  • 2025年物联网新趋势:格行随身WiFi的模块化架构与低延迟优化
  • 代码随想录算法训练营第三十七天
  • 从C语言到C++:拥抱面向对象编程的全新世界
  • LCGL使用简介
  • 【qiankun】基于vite的qiankun微前端框架下,子应用的静态资源无法加载的问题