需求分析
(1)拆分集群,分别配置,使其成为一个高性能的环境
(2)响应服务器nginx搭建
(3)nginx反向代理后端服务器
(4)通过KeepAlived实现心跳检测、负载均衡、响应服务器的冗余(高可用)
(5)Tomcat对接mysql实现动态网页
(6)数据库主从复制、部署代理服务器atlas实现数据库的读写分离
(7)存储数据的磁盘使用lvm实现动态磁盘
(8)Tomcat部署多个应用并实现对应的域名解析
(9)运维人员可以通过OpenVPN接入Zabbix、Jumpserver进行监控管理
(10)操作系统安全加固
2、需求实现及详情配置
IP分配:
IP | 角色 |
192.168.10.100 | VIP |
192.168.10.10 | Nginx-1 |
192.168.10.20 | Nginx-2 |
192.168.10.11 | Tomcat-1 |
192.168.10.12 | Tomcat-2 |
192.168.10.30 | Mysql-1 |
192.168.10.31 | Mysql-2 |
192.168.10.40 | atlas |
192.168.10.50 | zabbbix |
192.168.10.60 | jump-server |
1、nginx
(1)官网下载nginx压缩包:nginx.org
(2)ssh连接到crt、然后通过lrzsz中的rz上传压缩包,之后tar解压并且指定解压目录为/usr/src
tar zxf nginx-1.16.1.tar.gz -C /usr/src
(3)创建用户实现管控分离(单独进程-单独用户)方便运维
useradd -M -s /sbin/nologin nginx
-M 不配置宿主目录 -s 配置shell环境
(4)配置(configure)
针对当前系统、软件环境配置安装参数
cd /usr/src/nginx-1.16.1
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
--with-http_stub_status_module --with-http_ssl_module
--prefix 定义安装路径
--user --group 定义运行进程的用户及组
--with-http_stud_status 初步监控nginx的状态,如并发连接,请求数量
--with-http_ssl_module 实现https
(5)编译并安装(make && make install)
make 将源码转换为二进制可执行程序
make install 将编译好的程序文件复制到系统
(6)软链接实现命令便捷化(将nginx目录下的命令链接到linux的环境变量)
ln -s /usr/local/nginx/sbin /usr/local/sbin/
(7)防火墙配置
如果防火墙是开着的,需要放行80端口
firewall-cmd --permanent --add-port=80/tcp //放行端口
systemctl restart firewalld //重启使配置生效
firewall-cmd --list-all //查看配置
这里默认关掉防火墙
setenforce()
vim /etc/selinux/config 修改SELINEX为disabled
getenforce
nginx //启动服务
ss -lnt //查看端口是否启用
浏览器访问192.168.10.10
(8)上传html文件到nginx的网站根目录下
cd /usr/local/nginx/html
rz
访问网站
(9)为方便运维,将nginx加入系统服务脚本
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $PIDFile
ExecStop=/usr/bin/kill -s QUIT $
PrivateTmp=true
[Install]
WantedBy=multi-user.target
//:wq保存退出
systemctl restart nginx //测试配置是否成功
注:无法启动的话可能是端口占用的问题,可以通过ps aux | grep nginx 找到pid号,使用kill pid号的命令用于卡死时杀死进程来中断进程
(10)进入配置文件修改进程数、添加状态模块监控nginx并发数、连接数
查看CPU数:
cat /proc/cpuinfo | grep "processor"| wc -l
worker_connections:最大并发数,2的倍数
添加监控模块配置
Location /status {
stub_status on; //打开模块
access_log off; //状态监控不需要日志记录
}
systemctl restart nginx
访问:192.168.10.10/status //打开监控,多开浏览器模拟多并发
2、nginx反向代理后端服务器
(1)克隆虚拟机作为后端服务器并配置网络环境以及初始化
进入网卡配置,配置服务器ip与网关使其能访问外网
vim /etc/sysconfig/network-scripts/ifcfg-ens33
配置关闭防火墙,流程与配置nginx服务器相同
(2)上传java包,tar解压到/usr/src目录下
cd /usr/src
rz
tar zxf java-demo.tar.gz
(3)编译java源代码包
清理仓库,使用在线仓库,下载maven:
yum clean all
yum repolist
配置源:
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum install maven
使用命令跳过测试进行编译,因为测试比较耗时,编译过程会下载依赖
mvn package -Dmaven.test.skip=true
编译之后会生成一个target目录,目录下有.war的包(没有做前后端分离)
(4)配置java项目容器TomCat
首先通过java -version查询是否安装java所需jdk
查询结果:
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
yum install -y java验证是否安装
下载TomCat包,下载时需要忽略检查,下载后解包
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.76/bin/apache-tomcat-8.5.76.tar.gz --no-check-certificate
删除/usr/src/apache-tomcat-8.5.76/webapps/ROOT目录下的内容
rm -rf /usr/src/apache-tomcat-8.5.76/webapps/ROOT/*
将target目录下的ly-simple-tomcat-0.0.1-SNAPSHOT.war包克隆到/webapps/ROOT下,也就是网站的根目录下
cp ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/src/apache-tomcat-8.5.76/webapps/ROOT
在/usr/src/apache-tomcat-8.5.76/bin路径下执行启动,关闭等命令,也可以软链接
startup.sh//启动
shutdown.sh //停止
daemon.sh//重载
启动后查看日志:
startup.sh
cd /usr/src/apache-tomcat-8.5.76/logs
tail catalina.2022-03-16.log
注:访问http://192.168.10.11:8080显示404是因为版本兼容问题,可以手动解开war包,重启服务
(5)关联nginx和TomCat实现反向代理,并且增加TomCat机实现负载均衡
主配置文件http下配置反向代理
upstream mytomcat{
server 192.168.10.11:8080;
}
location / {
proxy_pass http://mytomcat;
}
之后访问nginx的ip则会被代理到tomcat服务器上
克隆tomcat机更改ip配置并与nginx关联实现负载
也可以通过在地址后面添加权重来调度流量走向以及分布,也可以实现灰度测试(产品或应用正式发布前,选择特定人群试用,逐步扩大其试用者数量,以便及时发现和纠正其中的问题,由“灰”到“黑”,也是版本较大的更迭时先进行小范围的尝试,再慢慢放量直至全部覆盖)
来进行版本的更新。
因为代理是轮询机制,所以通过追踪两台代理服务器的访问日志文件可以看到nginx响应机发来的代理请求
3、KeepAlived实现高可用
(1)实现原理
由于早起的LVS软件无法对LVS节点进行健康检测、针对这项缺陷,KeepAlived软件就诞生了。
KeepAlived可以通过在自身KeepAlived.conf配置文件中配置LVS的节点IP和相关参数实现对LVS的直接管理,当节点故障时,KeepAlived会自动将失效的节点服务器从工作队列移除并且将请求转交到正常的节点上,当高优先级的节点修复后,再将请求转交到其上。
KeepAlived采用的其实就是虚拟冗余协议VRRP,两台主机安装配置KeepAlive后,会生成一个虚拟的vip地址供用户访问,因为该地址会因机器的故障状态进行漂移,所以称其为漂移地址,请求会交到MASTER机上,BACKUP机不做工作,但是会一直监听MASTER机发送的心跳报文,从而确认其是否存活,当其停止发送时,BACKUO会接管请求进入工作模式知道MASTER机修复后抢占请求(通过优先级的比对),这种机制响应时间较短,所以用户几乎无法感受到异常。
(2)KeepAlived安装与配置
首先通过本地yum源安装KeepAlived:
yum install -y keepalived
配置为开机自启
Systemctl enable keepalived
通过rpm -qa查询是否安装成功
rpm -qa keepalived
查询结果:
keepalived-1.3.5-6.el7.x86_64
进入主配置文件进行配置:
global_defs {//全局配置
router_id HA_TEST_R1//服务器主机名
}
#vrrp_script check_nginx {
# script "/etc/keepalived/check_nginx.sh"
# interval 2
# weight 2
#}
vrrp_instance VI_1 {//定义实例
state MASTER//主服务器
interface ens33//当前集群和其他主机通信的网卡
virtual_router_id 45//虚拟路由器ip号,主备一致
priority 120//优先级,决定抢占
advert_int 1//检测时延
authentication {//主备通信验证
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {//虚拟ip
192.168.10.100
}
# track_script {
# check_nginx
# }
}
查看ip可以看到虚拟ip
通过访问虚拟ip发现可以访问到后端服务器
克隆主服务器一台作为备服务器并修改ip地址
备份主配置文件之后进行修改,主要修改角色状态与优先级
global_defs {
router_id HA_TEST_R1
}
#vrrp_script check_nginx {
# script "/etc/keepalived/check_nginx.sh"
# interval 2
# weight 2
#}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 45
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.10.100
}
# track_script {
# check_nginx
# }
}
(3)模拟故障以及效果检查
停掉主服务器的服务,查看备服务器的ip
可以看到漂移地址已经飘到了备服务器上
(4)脚本追踪
虽然说服务器故障会自动切换到备服务器,但真实情况很多时候设备是不容易坏掉的,更容易故障的是nginx这个服务,所以要编写shell脚本来对nginx进行监控。
脚本内容
#!/bin/bash
A=`ps -C nginx --no-header | wc -l`//查询nginx进程数
if [ $A -eq 0 ];then//如果等于零
让我开一哈你的nginx \e[0m"
systemctl restart nginx//启动nginx
sleep 3//间隔三秒后
if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
systemctl stop keepalived//关闭keepalived
哦豁,服务器已故障\e[0m"
fi
fi
赋予脚本可执行权限:
chmod 754 check_nginx.sh
之后在keepalived主配置文件进行脚本追踪,间隔两秒一次
vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2 //间隔两秒执行一次
}
track_script {
check_nginx
}
//vrrp_script 用户自定义资源监控脚本
//track_script 调用脚本
注:如果脚本没有被执行,可以查看脚本文件配置权限有没有可执行权,如果都没问题的话有可能是防火墙没有关。
最后重启keepalived服务,手动关闭nginx之后查询nginx的进程数验证脚本,可以看出停掉服务后,脚本又帮我们启动了nginx服务,所以查询到的进程不变
如果在两秒内再次查询或者调低脚本检测频率则可以发现停掉nginx后其进程变为
现在开始只要nginx故障,脚本运行后首先会重启一次nginx,如果成功则主服务器仍旧可用,如果失败则关闭主服务器,备服务器进行工作。
4、tomcat对接数据库实现动态网页(实现前后端交互)
(1)数据库搭建
yum下载mariadb客户端以及服务器并启动
yum install -y mariadb mariadb-server
syetemctl start mariadb
登录mysql,默认没有密码,修改mysql密码
mysqladmin -u root password ‘123456’
mysql -u root -p
(2)练习数据库基础增删查改命令
show databases; //查看数据库
create database school; //创建数据库
use school //进入数据库
create table student(stu_id INT,stu_name VARCHAR(100) NOT NULL); //创建数据表并指定列类型stu_id为整型,stu_name为长字符串型
insert into student values(1,’zhangsan’); //插入数据
show create table student; //查询创建的数据表
select * from student; //查询数据
delete from student where stu_id=1; //删除数据
drop table student; //删除数据表
drop database school; //删除数据库
mysqldump -u root -p school student > /tmp/school_student.sql //备份数据库
备份好之后删除数据库school,之后source school_student.sql;
报错发现无法还原数据:发现是没有创建数据库school,因为只备份了数据表,需要数据库school才能进行还原,所以我们要先创建一个名为school的数据库
(3)前后端对接
首先将之前前端java目录下db目录下的sql文件通过远程复制复制到mysql服务器上的/root目录下
scp /usr/src/java-demo/db/tables_ly_tomcat.sql [email protected]:/root
因为这个文件所属库为test所以直接进入到test库通过source添加数据表
修改java源码包中的配置文件,修改调用的数据库ip、库名、用户密码等
vim /usr/src/java-demo/src/main/resources
重新打包:
mvn package -Dmaven.test.skip=true
删除/usr/src/apache-tomcat-8.5.76/webapps/ROOT下的所有内容然后将刚刚打包的war包cp到当前目录下,同样删除tomcat2下的所有内容并且将war包远程复制到汤姆猫2号的ROOT下
cd /usr/src/apache-tomcat-8.5.76/webapps/ROOT
rm -rf ./*
注:访问网页添加学生失败,查看日志返回500和304的状态码
有可能是没有权限,返回到数据库服务器进入mysql查询
grant all on *.* to 'root'@'%' identified by '123456';
为root所有库所有表在任何主机上赋予所有权限
再次添加并且查询可以看到添加成功:
5、数据库主从复制与读写分离
(1)主从复制
1)主从复制的原理
企业网络中如果后端数据库服务器只有一台的话,可能会因为单点故障导致网页瘫痪,并且一台服务器无法处理大量的并发数据请求,如果数据丢失更是会导致无法预料的后果,故此应用主从复制使得数据同步,后面再通过读写分离提升并发负载能力。
工作原理:
当从服务器连接到主服务器时,主服务器会开启一个线程将自己的binlog其中包括relay log文件发送到从服务器,从服务器启动后,从服务器上会开启I/O、SQL两个线程,I/O线程用于拉取主服务器二进制日志内容,写入到Relay log中,然后通过SQL线程进行读取写入本地。
2)时间同步
主节点搭建时间同步服务器,通过安装ntp更改其配置文件来实现时间同步
主:
yum install -y ntp
vim /etc/ntp.conf
删除server 0-3
添加server 127.127.1.0
fudge 127.127.1.0 startum 8
从:
yum install -y ntpdate
ntpdate 192.168.10.30
3)主服务器配置
因为数据库有之前的内容所以要先进行一下数据库备份,并将其传输到从服务器用来同步
mysqldump -u root -p test > /tmp/mybak.sql
scp /tmp/mybak.sql [email protected]:/root
进入主服务器配置文件添加配置,之后重启服务使其生效
vim /etc/my.cnf
server_id=66 //做了主从复制所以需要通过id识别
log_bin=master_bin //开启二进制日志
log_slave_updates=true //允许从主服务器中读取日志
授权允许从服务器进行日志拷贝之后刷新
mysql -u root -p
grant replication slave on *.* to ‘myslave’@’192.168.10.%’identified by ‘123456’; //授权myslave用户密码123456可以拷贝
flush privileges;//刷新
查看当前服务器状态:
show master status;
4)从服务器配置
进入主配置文件添加内容并重启服务使其生效
vim /etc/my.cnf
server_id=55 //辨识id
relay_log=relay_log_bin //定义relay_log中继日志
relay_log_index=slave_relay_bin.index //日志索引,提高查询效率
启动同步
change master to
master_host='192.168.10.30',master_user='myslave',master_password='123456'
,master_log_file='master_bin.000001',master_log_pos=476;
start slave;
//使用myslave用户,密码为123456(被主服务器授权)同步主服务器日志(前面查询所得)
注:由于本人的不正当操作导致了如下报错,搜索后得知是该服务器之前做过主从复制,中途修改过my.cnf配置文件,重启mariadb服务后,binlog和relay_log文件名已经改变所以无法从之前的relay_log复制了
解决方法:reset slave; //重置
启动后查询线程是否开启:
可以看到双线程已启动,接下来可以进行验证啦
结果验证:
在主服务器添加新库test1,在从服务器查看:
主:
从:
(2)读写分离
1)读写分离的安装与配置
克隆服务器作为atlas代理服务器,初始化配置并通过ssh远程连接
上传rpm包并且安装,默认安装在/usr/local下
rz Atlas-2.2.1.el6.x86_64.rpm
rpm -ivh Atlas-2.2.1.el6.x86_64.rpm
进入到/usr/local/mysql-proxy/下可以看到bin、log、conf、lib,分别是可执行命令、日志文件、配置文件以及一些依赖的文件。
首先要在主从库上对altas进行授权
grant all on *.* to test@’192.168.10.%’identified by ‘123.com’
接着进入到atlas的配置文件进行配置,修改主从库的ip以及端口、 用户名以及加密之后的密码、如果要通过前端来对接代理则需要修改altas监听的工作接口ip和端口。
启动altas服务:
/usr/local/mysql-proxy/bin/mysql-proxyd/test start
2)验证是否分离
在代理主机上安装mariadb客户端用来进行验证。
yum install -y mariadb
使用管理用户和密码登录数据库
mysql -P2345 -uuser -ppwd -h127.0.0.1
输入show databases;提示输入select * from help来查询命令,通过select * from backends来查询后端服务器
登录工作用户来进行读写分离验证,通过show databases;查看库
在从库添加新库,查看主库,可以看出数据无法回流到主库
从:
主:
在主库添加数据,查看从库,可以看到数据;
主:
从:
3)修改配置重新打包
因为代理服务器atlas的加入,所以需要修改前端配置文件中的资源定位信息url以及数据库登入的用户和密码,然后重新打包解包
配置之后如果还是与网页交互,则有可能是tomcat与mysql对接不成功,重新将java中db下的.sql包远程复制过去进行导入即可
6、Tomcat服务器部署LAMP服务分别做DNS解析
(1)LAMP环境搭建
根据文档,注意修改其中部分配置文件,比如添加mysql到系统服务时,PIDfile需要设置为当前虚拟机的主机名,分别部署apache、mysql、php,环境搭建之后,部署skyuc服务。
(2)修改apache的主配置中的网页存放目录
修改目录使得访问时默认网页为skyuc
vim /usr/local/httpd/conf/httpd.conf
(3)修改nginx主配置文件分别对两个网站做域名对应关系
vim /usr/local/nginx/conf/nginx.conf
(4)结果验证
通过www.Uskyuc.com可以访问到skyuc网页
通过www.stuadmin.com可以访问到java网页
7、Zabbix、Jumpserver监控管理
(1)Zabbix部署
1)Zabbix需要使用LAMP平台实现监控服务的部署使用,因此需要安装MySQL、HTTP、PHP等主要软件
下载wget工具然后下载想要的源
yum install -y wget
rpm -ivh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
//mysql 官方源文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云的源
yum install -y mysql-server mysql httpd php
启动mysqld并且设为自启
mysqladmin -u root -p password //设置mysql的密码,默认为空
为zabbix服务创建存放数据的数据库及用户名密码,库名为"zabbix",用户名为 "zabbix",密码为"password":
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Aa123456';
2)zabbix服务安装
rpm
-ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
// 下载zabbix官方源文件
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent //插件
导入初始架构和数据,系统将提示你输入新创建的密码。密码为Aa123456
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
为zabbix配置数据库
vim /etc/zabbix/zabbix_server.conf
DBName=zabbix //修改,指定数据库名称
DBUser=zabbix //修改,指定数据库用户名
DBPassword=Aa123456 //去掉#,指定数据库密码
修改系统时区以及中文字符集以防乱码
上传字符集给权限之后删除默认字符集
3)登录zabbix
使用之前那配置的数据库名称,用户名称以及密码访问
192.168.10.50/zabbix
登录名称为Admin、密码为zabbix
登录成功界面:
修改网页语言:
4)监控linux服务器
被监控机上传zabbix-agent安装并修改配置文件
rpm -ivh zabbix-agent-3.2.6-1.el7.x86_64.rpm //rpm安装
rpm -qa zabbix-agent//查询是否安装
cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
//备份配置文件
vim /etc/zabbix/zabbix_agentd.conf//进入配置文件
Server=192.168.10.50 //被监控端等待该监控服务器请求监控数据
ServerActive=192.168.10.50 //被监控端主动提交数据到此服务器
Hostname=centoS201 //一般为主机名,zabbix添加主机时也用这个
systemctl start zabbix-agent //启动服务
systemctl enable zabbix-agent //设为开机自启
netstat -anpt | grep agent //查询zabbix(10050)服务是否开启
在zabbix管理界面中添加linux主机
自定义监控项来监控服务存活
首先在客户机的agent配置项添加键值
vim /etc/zabbix/zabbix_agentd.conf //进入agent配置项
UserParameter=web_status,ps -C nginx --no-header | wc -l//添加键值
Systemctl restart zabbix-agent重启服务
之后在zabbix服务器上安装工具检测监控信息
yum install -y zabbix-get
zabbix_get -s 192.168.10.10 -k 'web_status'
可以看到与nginx有关的进程有三个
在zabbix的web界面添加客户机的监控项
添加图形方便监测
查看监测中的图形项
因为之前配置keepalived的时候写了脚本用来实现nginx的自愈功能,所以可以看到进程恢复的过程如下图
可以停掉keepalive的服务用来验证
添加触发器实现报警
验证结果
可以设置声音告警
(2)JumpServer服务部署
1)准备基础环境
安装jumpserver2.9.0版本需要Centos 7.9并且需要两核cpu、而且需要联网,首先要通过wget工具安装阿里云开源镜像的Centos7的镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all //yum会将下载下来的文件缓存到本机硬盘缓存中,所以先、清除所有缓存
yum makecache //把服务器的包信息下载到本地进行缓存
yum -y update //升级所有包的同时也升级软件和系统内核upgrade只升级包
cat /etc/redhat-release //查询centos内核版本
2)安装jumpserver
yum install net-tools wget lrzsz yum-utils device-mapper-persistent-data lvm2 -y //安装依赖
yum -y install docker-ce docker-compose.noarch//安装docker的依赖
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo//安装阿里云镜像
yum makecache fast //快速缓存
也可以本地上传docker-ce、jumpserver包,解包进入目录后安装
tar zxf jumpserver-installer-v2.9.0.tar.gz //解包
cd jumpserver-installer-v2.9.0///进入目录
./jmsctl.sh install//安装
注:命令可以会因为wps格式原因执行失败,失败手敲即可,一定要装好依赖,不然会报环境异常的错误
默认回车即可
安装完成后可以看到一些常用的命令以及连接方式
3)运行堡垒机
全部为done则启动成功,失败的话可以重新安装在启动试试
接下来就可以通过提示来进行登录啦,这里使用web8080端口登录
4)监控用户
首先创建用于登录堡垒机的用户,也可以先创建组
创建用于管理资产的管理用户以及使用的系统用户
创建资产
资产授权
登录堡垒机用户并且进入资产
管理员可以检测员工上线与操作
8、操作系统安全加固
1)编写shell脚本进行安全加固
vim system_safe.sh //创建脚本文档
2)运行脚本进行验证
3)防火墙策略
在开启防火墙的时候可以访问到服务并且zabbix可以监控到开启防火墙的服务器
由于命令较长所以为其使用别名,而别名有时限,所以写进开机自启文件中
vim /etc/profile
重启后通过alias查询是否别名成功
首先打开nginx的防火墙,然后验证是否开启
可以看到流量无法通行
那么接下来我们对防火墙配置策略,因为nginx是80端口,而zabbix服务器和客户端分别使用10050和10051端口,所以我们使其通行
重启防火墙后查看配置是否成功
然后重新访问网页和服务器验证结果
可以看到策略成功
最后设置防火墙为开机自启
标签:yum,nginx,zabbix,集群,usr,mysql,服务器,综合 From: https://blog.51cto.com/syjblog/6082004