软件安装及高可用部署(二)
大约 3 分钟
本文介绍了Nginx安装
一、修改主机名
以 nginx-master 为例,修改所有服务器的对应的主机名。
vim /etc/hostname
# 删除所有的内容,修改为要修改的主机名
nginx01
vim /etc/hosts
#在第一行最后追加主机名,有127.0.0.1内容的这行
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
nginx01
# 重启服务器
reboot
二、安装Nginx
tar -zxvf nginx-1.19.10.tar.gz
# 在软件包源码目录
cd /software/nginx/nginx-1.19.10
./configure --prefix=/nginx --with-http_gunzip_module --with-http_ssl_module
# 执行编译
make && make install
# 指定配置文件启动
/nginx/sbin/nginx -c /nginx/conf/nginx.conf
# 查看进程是否启动
ps -ef | grep nginx
三、修改环境变量
vim /root/.bash_profile
# 找到 PATH=$PATH:$HOME/bin
# 后面添加括号中的内容(:/nginx/sbin)
# 刷新环境变量
source /root/.bash_profile
# --------------------------------------------
vim /root/.bashrc
# 在最后加入
PATH=$PATH:$HOME/bin:/nginx/sbin
export PATH
# 刷新环境变量
source /root/.bashrc
四、验证可用
# 在任意位置输入,先停止Nginx
nginx -s stop
# 启动nginx
nginx
# 浏览器访问服务器外网IP地址,查看Nginx欢迎页
http://外网IP地址
五、在nginx-backup服务器上重复以上步骤,安装Nginx。
六、Nginx高可用配置
nginx-master配置
在nginx-master服务器上修改keepalived配置文件。注意配置中interface(指定网卡)、virtual_ipaddress(虚拟IP)、unicast_src_ip(本机IP)和unicast_peer(其它服务器IP)参数可根据实际环境进行配置。
vim /etc/keepalived/keepalived.conf
# 将原配置文件内容清空,添加以下配置内容↓:
! Configuration File for keepalived
vrrp_script check_nginx {
script "/usr/local/keepalived/sbin/check_nginx.sh"
interval 3
weight 2
}
vrrp_instance nginx {
state MASTER
interface ens33
virtual_router_id 11
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
check_nginx
}
virtual_ipaddress {
192.168.8.93
}
unicast_src_ip 192.168.8.183
unicast_peer {
192.168.8.184
}
}
在nginx-master服务器上创建检测脚本。
vim /usr/local/keepalived/sbin/check_nginx.sh
# 添加以下配置内容↓:
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ];then
#echo 1
/nginx/sbin/nginx -s reload
/nginx/sbin/nginx -c /nginx/conf/nginx.conf
sleep 5
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ];then
/etc/init.d/keepalived stop
#echo 2
fi
fi
为检测脚本添加可执行权限。
chmod +x /usr/local/keepalived/sbin/check_nginx.sh
在nginx-master服务器上验证虚拟IP是否绑定。
chmod -R 777 /etc/keepalived/keepalived.conf
service keepalived stop
service keepalived start
# 查看虚拟IP是否出现在了网卡上
ip a
nginx-backup配置
在nginx-backup服务器上修改keepalived配置文件。注意配置中interface(指定网卡)、virtual_ipaddress(虚拟IP)、unicast_src_ip(本机IP)和unicast_peer(其它服务器IP)参数可根据实际环境进行配置。
vim /etc/keepalived/keepalived.conf
# 将原配置文件内容清空,添加以下配置内容↓:
! Configuration File for keepalived
vrrp_script check_nginx {
script "/usr/local/keepalived/sbin/check_nginx.sh"
interval 3
weight 2
}
vrrp_instance nginx {
state BACKUP
nopreempt
interface ens33
virtual_router_id 11
priority 50
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
check_nginx
}
virtual_ipaddress {
192.168.8.93
}
unicast_src_ip 192.168.8.184
unicast_peer {
192.168.8.183
}
}
在nginx-backup服务器上创建检测脚本。
vim /usr/local/keepalived/sbin/check_nginx.sh
# 添加以下配置内容↓:
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ];then
#echo 1
/nginx/sbin/nginx -s reload
/nginx/sbin/nginx -c /nginx/conf/nginx.conf
sleep 5
if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ];then
/etc/init.d/keepalived stop
#echo 2
fi
fi
为检测脚本添加可执行权限。
chmod +x /usr/local/keepalived/sbin/check_nginx.sh
在nginx-backup服务器上验证虚拟IP是否绑定。
chmod -R 777 /etc/keepalived/keepalived.conf
service keepalived stop
service keepalived start
# 登录nginx-master服务器
service keepalived stop
# 登录nginx-backup服务器,查看虚拟IP是否出现在了网卡上
ip a
# 登录nginx-master服务器
service keepalived start
# 登录nginx-master服务器,查看虚拟IP是否出现在了网卡上
ip a