小编给大家分享一下Nginx + keepalive如何实现双机主备,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
首先介绍一下keepalive,它是一个高性能的服务器高可用或热备解决方案,起初是专为lv负载均衡软件设计的,keepalive主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现web服务端的高可用。
keepalive以VRRP协议为实现基础,VRRP是虚拟路由器冗余协议(虚拟路由冗余协议)的缩写,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个)。
VRRP出现的目的就是为了解决静态路由的单点故障问题的,它能保证当个别节点宕机时,整个网络可以不间断地运行。
下面我们介绍一下Nginx keepalive高可用方案的部署安装。
<强>环境准备强>
在两台主机上准备如下压缩文件:
- <李>
keepalived-2.0.20.tar.gz
李> <李>nginx-1.16.1.tar.gz
李>虚拟IP
真实IP
Nginx端口
主从
192.168.124.20 192.168.124.13
80
192.168.124.20 192.168.124.14
80
备份
<强>安装Nginx 强>
新建一个用户:
useradd tianyan
确定安装目录,我这里的安装目录是:/home/tianyan tianyan_soft/Nginx。安装。
在这个目录下分别新建两个目录用于安装nginx和keepalive,解压两个压缩包。
执行安装命令:
。/configure ——prefix=/home/tianyan/tianyan_soft/nginx.install \ ——sbin-path=/home/tianyan/tianyan_soft/nginx.install/sbin/nginx ——conf-path=/home/tianyan/tianyan_soft/nginx.install/conf/nginx.conf \ ——error-log-path=/home/tianyan/tianyan_soft/nginx.install/error.log \ ——http-log-path=/home/tianyan/tianyan_soft/nginx.install/access.log \ ——pid-path=/home/tianyan/tianyan_soft/nginx.install/nginx.pid \ ——lock-path=/home/tianyan/tianyan_soft/nginx.install/nginx.lock \ ——用户=tianyan 组=tianyan \ ——with-http_stub_status_module \ ——with-http_gzip_static_module \ ——with-http_ssl_module \ ——with-http_realip_module \ ——with-threads \ ——with-pcre \ ——http-client-body-temp-path=/home/tianyan/tianyan_soft/nginx.install/客户/,\ ——http-proxy-temp-path=/home/tianyan/tianyan_soft/nginx.install/代理/,\ ,——http-fastcgi-temp-path=/home/tianyan/tianyan_soft/nginx.install/fcgi, \ ——http-uwsgi-temp-path=/home/tianyan/tianyan_soft/nginx.install/uwsgi \ ——http-scgi-temp-path=/home/tianyan/tianyan_soft/nginx。安装/scgi
如果报错,记得安装相关依赖:
yum install gcc gcc-c + +
nginx:,(紧急情况),绑定(),用0.0.0.0:80 failed (13:, Permission 否认)。
注:以非根权限启动时,会出现nginx:[紧急情况]()绑定到0.0.0.0:80失败(13:没有权限)错误。
原因:Linux只有根用户可以使用1024年一下的端口
<强>解决办法:强>
1。按照根权限启动
2。将/usr/local/nginx/conf/nginx.参看文件中80的端口改以1024为上。
<强>安装keepalive 强>
。/configure ——prefix=/usr/地方/keepalive
上述命令执行完毕后继续执行:
make ,,, make 安装
安装完毕后,目录是这个样子:
将配置文件拷贝到系统对应的目录下
mkdir /etc/keepalive cp /usr/地方/keepalive/etc/keepalive/keepalived.conf /etc/keepalive/keepalived.conf cp /usr/地方/keepalive/etc/sysconfig/keepalived /etc/sysconfig/keepalive
编辑主节点的keepalive。参看
vim /etc/keepalive/keepalive。参看
内容参考如下:
! Configuration File for keepalive global_defs { #才能一个没重复的名字即可 router_id hyq_slave才能 ,,} # ng是否运行 vrrp_script chk_nginx  { ,,,script “/etc/keepalive/nginx_check.sh" ,,interval 2 ,,weight -20 } vrrp_instance VI_1  { state 才能;BACKUP ,, #,必填,可以是主人或备份 interface ens33才能 ,virtual_router_id 101 ,priority 90 advert_int 才能;1 #才能,如果两节点的上联交换机禁用了组播,则采用vrrp单播通告的方式 #才能,本机ip unicast_src_ip 192.168.124.14才能 unicast_peer {才能 ,,,#,其他机器ip ,,192.168.124.13 ,,} #,才能设置nopreempt防止抢占资源 nopreempt才能 authentication {才能 ,,,auth_type 通过 ,,auth_pass 1111 ,,} #,才能与上方nginx运行状况检测呼应 track_script {才能 ,,chk_nginx ,,} virtual_ipaddress {才能 ,,192.168.124.20 ,,} }Nginx + keepalive如何实现双机主备