Nginx+Keepalived集群安装最详细安装步骤

一、安装nginx

1.去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本

2.上传nginx到linux系统

3.安装依赖环境

(1)安装gcc环境

 yum install gcc-c++

(2)安装PCRE库,用于解析正则表达式

yum install -y pcre pcre-devel

(3)zlib压缩和解压缩依赖,

yum install -y zlib zlib-devel

(4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

yum install -y openssl openssl-devel

4.解压,需要注意,解压后得到的是源码,源码需要编译后才能安装

tar -zxvf nginx-1.16.1.tar.gz

5.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错

mkdir /var/temp/nginx -p

6.在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件

./configure \n    --prefix=/usr/local/nginx \n    --pid-path=/var/run/nginx/nginx.pid \n    --lock-path=/var/lock/nginx.lock \n    --error-log-path=/var/log/nginx/error.log \n    --http-log-path=/var/log/nginx/access.log \n    --with-http_gzip_static_module \n    --http-client-body-temp-path=/var/temp/nginx/client \n    --http-proxy-temp-path=/var/temp/nginx/proxy \n    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \n    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \n    --http-scgi-temp-path=/var/temp/nginx/scgi

注: 代表在命令行中换行,用于提高可读性

配置命令:

命令        解释

–prefix    指定nginx安装目录    

–pid-path    指向nginx的pid    

–lock-path    锁定安装文件,防止被恶意篡改或误操作    

–error-log    错误日志    

–http-log-path    http日志    

–with-http_gzip_static_module    启用gzip模块,在线实时压缩输出数据流    

–http-client-body-temp-path    设定客户端请求的临时目录    

–http-proxy-temp-path    设定http代理临时目录    

–http-fastcgi-temp-path    设定fastcgi临时目录    

–http-uwsgi-temp-path    设定uwsgi临时目录    

–http-scgi-temp-path    设定scgi临时目录    

7.make编译

make

8.安装

make install

9.进入sbin目录启动nginx

./nginx
停止:./nginx -s stop
重新加载:./nginx -s reload

10.打开浏览器,访问虚拟机所处内网ip即可打开nginx默认页面,显示如下便表示安装成功:

注意事项:

如果在云服务器安装,需要开启默认的nginx端口:80

如果在虚拟机安装,需要关闭防火墙

本地win或mac需要关闭防火墙

二、Keeplived安装

第一步:下载

https://www.keepalived.org/download.html

第二步:上传服务器

第三步:解压

tar -zxvf keepalived-2.0.18.tar.gz

第四步:进入keepalived目录

cd /file/keepalived-2.2.4/

第五步:使用configure命令配置安装目录与核心配置文件所在位置:

./configure --prefix=/usr/local/keepalived --sysconf=/etc

prefix:keepalived安装的位置

sysconf:keepalived核心配置文件所在位置,固定位置,改成其他位置则keepalived启动不了,/var/log/messages中会报错

5.1 配置过程中出现警告信息:

*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.

5.2安装 libnl/libnl-3依赖

yum -y install libnl libnl-devel  

yum install -y libnl3.x86_64 libnl3-devel.x86_64

第六步 安装keepalived

make && make install

第七步 进入到/etc/keepalived ,该目录下为keepalived核心配置文件

如果忘记目录,可以用命令找到:

whereis keepalived

三、配置 Keepalived - 主节点

1. 通过命令 vim keepalived.conf 打开配置文件

global_defs {
  # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
  router_id keep_171
}
vrrp_instance VI_1 {
   # 表示状态是MASTER主机还是备用机BACKUP
   state MASTER
   # 该实例绑定的网卡
   interface ens33
   # 保证主备节点一致即可
   virtual_router_id 51
   # 权重,master权重一般高于backup,如果有多个,那就是选举,谁的权重高,谁就当选
   priority 100
   # 主备之间同步检查时间间隔,单位秒
   advert_int 2
   # 认证权限密码,防止非法节点进入
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   # 虚拟出来的ip,可以有多个(vip)
   virtual_ipaddress {
       192.168.1.161
   }
}

查看网卡名称命令:

ip addr

2、启动keepalived,在sbin目录中进行启动(同nginx)

./keepalived

3、查看进程

ps -ef | grep keepalived

4、查看Vip

ip addr

四、配置 Keepalived - 备

1. 通过命令 vim keepalived.conf 打开配置文件

global_defs {
  router_id keep_172
}

vrrp_instance VI_1 {
   # 备用机设置为BACKUP
   state BACKUP
   interface ens33
   virtual_router_id 51
   # 权重低于MASTER
   priority 80
   advert_int 2
   authentication {
       auth_type PASS
       auth_pass 1111
   }
   virtual_ipaddress {
       # 注意:主备两台的vip都是一样的,绑定到同一个vip
       192.168.1.161
   }
}

2. 启动 Keepalived

# 启动keepalived

systemctl start keepalived

# 停止keepalived

systemctl stop keepalived

# 重启keepalived

systemctl restart keepalived

3. 查看进程

ps -ef|grep keepalived

五、Keepalived配置Nginx自动重启

1. 增加Nginx重启检测脚本

vim /etc/keepalived/check_nginx_alive_or_not.sh

代码块

#!/bin/bash

A=`ps -C nginx --no-header |wc -l`
# 判断nginx是否宕机,如果宕机了,尝试重启
if [ $A -eq 0 ];then
   /usr/local/nginx/sbin/nginx
   # 等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
   sleep 3
   if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
       killall keepalived
   fi
fi

增加运行权限

chmod +x /etc/keepalived/check_nginx_alive_or_not.sh

2. 配置keepalived监听nginx脚本

vrrp_script check_nginx_alive {
   script "/etc/keepalived/check_nginx_alive_or_not.sh"
   interval 2 # 每隔两秒运行上一行脚本
   weight 10 # 如果脚本运行成功,则升级权重+10
   # weight -10 # 如果脚本运行失败,则升级权重-10
}

3. 在vrrp_instance中新增监控的脚本

track_script {
   check_nginx_alive   # 追踪 nginx 脚本
}

4. 重启Keepalived使得配置文件生效

systemctl restart keepalived
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值