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

LNMT部署zrlog个人博客(动静分离集群)

文章目录

  • LNMT部署zrlog个人博客(动静分离集群)
    • 环境准备
      • (1)检查网络环境
      • (2)修改主机名
      • (3)配置时间同步
      • (4)host解析
    • 一、安装部分
      • (1)安装lb01、web03、web04的nginx
      • (2)安装web04、tomcat、jdk
      • (3)在web04下载zrlogwar包
      • (4)配置db01数据库
      • (5)web04、web03、nfs01安装nfs
      • (6)将站带目录传给web03(配置负载均衡需要)
    • 二、配置部分
      • (1)nfs01节点部署nfs
      • (2)web03、web04挂载nfs共享目录
      • (3)配置负载均衡节点
      • (4)配置web03、web04节点
    • 三、测试
  • 遇到的坑

LNMT部署zrlog个人博客(动静分离集群)

本项目基于zrlog2.21旧版本

image-20251104194600914

环境准备

角色主机名IP操作系统
负载均衡(nginx)lb0110.0.0.106/172.16.1.106kylinv10sp3
静态请求(nginx)web0310.0.0.108/172.16.1.108kylinv10sp3
动态请求(nginx+tomcat)web0410.0.0.109/172.16.1.109kylinv10sp3
数据库(mysql)db0110.0.0.105/172.16.1.105kylinv10sp3
静态数据存放(nfs)nfs0110.0.0.102/172.16.1.102kylinv10sp3

(1)检查网络环境

#1.检查网段情况
检查10网段是否能够上网
检查内网172网段 #是否能互通

(2)修改主机名

hostnamectl set-hostname web03
hostnamectl set-hostname web04
hostnamectl set-hostname lb01
hostnamectl set-hostname db01
hostnamectl set-hostname nfs01

(3)配置时间同步

yum install -y ntpdate
echo "*/3 * * * * root bash ntpdate ntp.aliyun.com >/dev/null 2>&1" >> /etc/crontab

(4)host解析

SSH 服务默认会对 客户端 IP 做反向 DNS 解析(验证 IP 对应的域名是否合法),若服务器 DNS 配置错误、解析超时,或客户端 IP 无反向解析记录,会导致登录卡在 “等待解析” 环节,延迟通常 5-30 秒

#1.注释掉已有的配置
sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config
#2.关闭对应功能
#关闭dns反向解析  ip-->域名
cat >>/etc/ssh/sshd_config<<EOF
UseDNS no
GSSAPIAuthentication no
EOF
#2.重启sshd(在本地连接重启)
systemctl restart sshd
egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config
#2.写入域名解析
cat >> /etc/hosts <<'EOF'
172.16.1.102 nfs01
172.16.1.108 web03
172.16.1.109 web04
172.16.1.105 db01
172.16.1.106 lb01
EOF

一、安装部分

(1)安装lb01、web03、web04的nginx

部署Nginx1.28(Kylinv10sp3、Ubuntu2204、Rocky9.3)_kylin 10sp3安装nginx教程-CSDN博客

(2)安装web04、tomcat、jdk

  • tomcat9
  • jdk11(麒麟默认)
#1.安装jdk11(麒麟默认有11直接yum)
yum list |grep openjdk
#2.安装java-11-openjdk.x86_64以及开发工具包
yum install -y java-11-openjdk java-11-openjdk-devel
#3.查看jdk版本(验证操作)
java --version#4.安装tomcat-9
yum install -y wget; wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.111/bin/apache-tomcat-9.0.111.tar.gz -P /download/
#5.解压到/usr/local目录下
tar -zxvf /download/apache-tomcat-9.0.111.tar.gz -C /usr/local/
#6.软链接简化路径
ln -s /usr/local/apache-tomcat-9.0.111/ /usr/local/tomcat
#7.查看版本(注意看tomcat版本和jdk版本是否是自己要的)
/usr/local/tomcat/bin/version.sh 
#8.测试启动tomcat,检查端口
/usr/local/tomcat/bin/startup.sh && ss -tulnp |grep 8080
#9.如果有端口关闭tomcat配置tomcat启动服务
/usr/local/tomcat/bin/shutdown.sh 
##配置tomcat服务
cat > /usr/lib/systemd/system/tomcat.service <<'EOF'[Unit]
Description=tomcat 9 server daemon
After=network.target 
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
EOF
#10.启动tomcat并放行端口
systemctl daemon-reload
systemctl enable tomcat.service --now
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
#查看端口
ss -tulnp |grep 8080
#11.本地测试
curl 10.0.0.109:8080

(3)在web04下载zrlogwar包

#1.上传zrlog
#2.将上传的zrlog war包移动到/usr/local/tomcat/webapps/ROOT/下
#(前提先把ROOT下的默认站点文件,放到/backup下)
mkdir /backup
#3.移动站点目录ROOT到/backup下
mv /usr/local/tomcat/webapps/ROOT/ /backup/
#4.将zrlog war包改名为ROOT.war移动到/usr/local/tomcat/webapps/下
mv zrlog-2.2.1-efbe9f9-release.war /usr/local/tomcat/webapps/ROOT.war

浏览器访问ip:8080

image-20251104203114525

(4)配置db01数据库

部署PHP8.4(KylinV10SP3、Ubuntu2204、Rocky9.3)-CSDN博客

#安装完数据库并改完密码后
#1.登陆数据,创建zrlog库
mysql -uroot -pAbc@1234
#2.创建zrlog库
create database zrlog;
#3.创建zrlog用户并授权它只能从本地和内网登陆
CREATE USER 'zrlog'@'172.16.1.%' IDENTIFIED BY 'Abc@1234';
CREATE USER IF NOT EXISTS 'zrlog'@'localhost' IDENTIFIED BY 'Abc@1234';
#查看用户是否创建成功
SELECT user, host FROM mysql.user;
#4.将zrlog用户授权zrlog库
GRANT ALL  ON zrlog.* TO 'zrlog'@'localhost';
GRANT ALL  ON zrlog.* TO 'zrlog'@'172.16.1.%';
#查看是否授权成功
SELECT user, host FROM mysql.user WHERE user = 'zrlog';
#登陆测试
mysql -uzrlog -pAbc@1234

浏览器访问配置数据库,并设置后台登陆用户密码

image-20251104204024892

image-20251104204051964

image-20251104204104752

由于是旧版本zrlog,需要手动输入后台地址才能进去ip:8080/admin

image-20251104204159352

image-20251104204207787

(5)web04、web03、nfs01安装nfs

上传一张图片查询,确定用户上传的图片在哪个目录下

image-20251104204410431

#1.确定挂载目录
#2.web04、web03、nfs01安装nfs
yum install -y nfs-utils

(6)将站带目录传给web03(配置负载均衡需要)

#1.web03节点创建目录存放站点文件
[root@web03 ~]# mkdir -p /app/code/
#2.web04使用scp把站点目录传到/app/code/下
[root@web04 ~]# scp -r /usr/local/tomcat/webapps/ROOT web03:/app/code/

二、配置部分

(1)nfs01节点部署nfs

#1.安装完nfs-utils后
#2.设置nfs和rpcbind开机自启并启动(注意启动顺序)
systemctl enable --now rpcbind && systemctl enable --now nfs
#3.查看端口状态(包含NFS和rpcbind)
rpcinfo -p
#4.设置nfs共享目录exports
cat > /etc/exports <<EOF
/data 172.16.1.0/24(rw,all_squash,anonuid=1999,anongid=1999)
EOF
#5.创建用户
groupadd -g 1999 www
useradd -u 1999 -g www -M -s /sbin/nologin www
#6.创建共享目录data
mkdir /data
#7.给data目录属主和属组设置为www
chown -R www:www /data/
#8.生效共享目录配置
exportfs -arv
#9.查看共享目录
showmount -e localhost 
#10.设置nfs固定端口,并防火墙放行端口
cat >> /etc/sysconfig/nfs <<EOF
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
EOF
#给lockd、statd设置端口
vim /etc/nfs.conf
[lockd]port=32803udp-port=32769[statd]
# debug=0port=662
#重启相关服务
systemctl restart rpcbind && systemctl restart nfs && systemctl restart nfs-lock
#放行端口
cat > open_port.sh <<'EOF'
#!/bin/bash
##############################################################
# File Name:open_port.sh
# Version:V1.0
# Author:csq
# Organization: www.chenshiquan.xyz
# Desc:
##############################################################no_open_port=`rpcinfo -p |awk 'NR>1{print $(NF-1)}' | sort | uniq`
for i in ${no_open_port}
doopen_port=`firewall-cmd --list-all | grep $i | wc -l`if [ ${open_port} -eq 0 ];thenif firewall-cmd --add-port=$i/tcp --permanent >/dev/null 2>&1;thenecho "端口$i放行成功"elseecho "端口放行失败"fielseecho "端口$i已经放行"fi
done
firewall-cmd --reload >/dev/null 2>&1
firewall-cmd --list-all
EOF
[root@nfs01 ~]# bash open_port.sh 
端口111放行成功
端口20048放行成功
端口2049放行成功
端口34801放行成功
端口44395放行成功
端口662放行成功
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33 ens34sources: services: cockpit dhcpv6-client mdns sshports: 111/tcp 20048/tcp 2049/tcp 34801/tcp 44395/tcp 662/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: 

(2)web03、web04挂载nfs共享目录

挂载该目录主要目的存放用户上传的静态数据

#1.web03、web04查看共享目录
showmount -e nfs01
#2.先将用户的上传的图片存放起来然后再挂载
[root@web03 ~]# mv /app/code/ROOT/attached/* /backup
[root@web04 ~]# mv /usr/local/tomcat/webapps/ROOT/attached/* /backup/
###永久挂载
[root@web03 ~]# echo "nfs01:/data /app/code/ROOT/attached/ nfs defaults 0 0" >> /etc/fstab 
[root@web03 ~]# mount -a
[root@web04 ~]# echo "nfs01:/data /usr/local/tomcat/webapps/ROOT/attached/ nfs defaults 0 0" >> /etc/fstab 
[root@web04 ~]# mount -a
#3.web03、web04创建www用户
groupadd -g 1999 www
useradd -u 1999 -g www -M -s /sbin/nologin www
#4.将用上传的目录重新放回来

(3)配置负载均衡节点

cat > /etc/nginx/conf.d/zrlog.chenshiquan.xyz.conf <<'EOF'
server {listen 80;server_name zrlog.chenshiquan.xyz;access_log /var/log/nginx/access-zrlog.chenshiquan.xyz.log main;error_log /var/log/nginx/error-zrlog.chenshiquan.xyz notice;#动态数据location / {proxy_pass http://10.0.0.109:80;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}#静态数据location ~* \.(html|css|js){proxy_pass http://10.0.0.108:80;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}
}
EOF

(4)配置web03、web04节点

#web03
cat  >  /etc/nginx/conf.dzrlog.chenshiquan.xyz.conf <<'EOF'
server {listen 80;server_name zrlog.chenshiquan.xyz;access_log /var/log/nginx/access-zrlog.chenshiquan.xyz.log main;error_log /var/log/nginx/error-zrlog.chenshiquan.xyz notice;location / {root /app/code/ROOT;index index.html;}
}
EOF#web04
cat  >  /etc/nginx/conf.dzrlog.chenshiquan.xyz.conf <<'EOF'
server {listen 80;server_name zrlog.chenshiquan.xyz;access_log /var/log/nginx/access-zrlog.chenshiquan.xyz.log main;error_log /var/log/nginx/error-zrlog.chenshiquan.xyz notice;location / {proxy_pass http://127.0.0.1:8080;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-Ip $remote_addr;}
}
EOF

三、测试

windows 域名解析 10.0.0.106 zrlog.chenshiquan.xyz

image-20251104214742765

抓包查看

静态资源请求web03、动态资源请求web04

image-20251104214935190

遇到的坑

[root@lb01 /etc/nginx/conf.d]# curl -H Host:zrlog.chenshiquan.xyz http://10.0.0.106
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.28.0</center>
</body>
</html>

负载访问403报错,访问静态资源找不到文件,

查看站点目录发现权限不对,修改站点目录755 文件644权限(web03、web04)

#web04
[root@web04 ~]# find /usr/local/tomcat/ -type d |xargs chmod 755
[root@web04 ~]# find /usr/local/tomcat/ -type f |xargs chmod 644
#web03
[root@web03 ~]# find  /app/code/ -type d | xargs chmod 755
[root@web03 ~]# find  /app/code/ -type f | xargs chmod 644
http://www.dtcms.com/a/569751.html

相关文章:

  • 企业网站功能模块设计阜阳哪里有做网站的
  • 如何做网站赚流量钱织梦做中英文企业网站
  • 【Unet++ MobileNetv2语义分割部署至RK3588】模型训练→转换RKNN→开发板部署
  • 深圳做网站做app我想自己做网站可以赚钱
  • 新颖网站页面设计wordpress弹窗登录注册插件
  • 服务端开发的基本概念
  • 快递鸟电子面单打印接口技术对接文档
  • FreeRTOS事件组全解析:多任务同步核心技巧
  • 网站的头尾和导航的公用文件wordpress主题 问答
  • 【GlobalMapper精品教程】096:连接PostGIS数据库(Postgresql)
  • 网站备案服务商查询网站域名使用期
  • 机器学习日报12
  • 【文档】Stomp 协议
  • 自己的网站怎么接广告联盟设计库
  • 网站怎么解析域名解析网站制作公司官网南京
  • liunx文件及目录管理和vim编辑
  • [leetcode]对顶堆,对数时间添加元素,常数时间取中位数(或者第K大的数)
  • 公司软件网站建设免费dw网页模板
  • 力扣146LRU缓存
  • 网站怎么做充值系统下载网站需要写哪些内容
  • 网站有没有做网站地图怎么看vi设计案例ppt
  • 网站页面设计培训班长沙人才招聘网最新招聘2024
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P07-02 授予能力
  • 真实的大模型中,embedding映射的高维矩阵维度和 attention矩阵运算的规模尺寸?
  • 中山网站设计与建设北京网上注册公司
  • ctf show-misc
  • 电子商务网站开发与管理实验报告青岛seo网络优化公司
  • 广告投放网站网站flash代码
  • 【Solidity 从入门到精通】第2章 Solidity 语言概览与环境搭建
  • 前端缓存战争:回车与刷新按钮的终极对决!