跳至主要內容

软件安装及高可用部署(二)

zheng大约 3 分钟CICD运维

本文介绍了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
上次编辑于:
贡献者: 郑天祺