Nginx搭建高可用的实现
1、高可用概念
一台nginx宕机了,还可以切换到另一台nginx上继续工作,让用户继续访问后台服务器
2、准备工作
- (1)需要两台 nginx 服务器
- (2)需要 keepalived
- (3)需要虚拟 ip
3、高可用准备工作
(1)需要两台服务器 192.168.17.129 和 192.168.17.131
(2)在两台服务器安装 nginx
这里如果不想再去安装一遍 Nginx ,可以直接克隆 CentOs 。
(3)在两台服务器安装 keepalived
使用命令安装:yum install keepalived –y
安装之后,在 /etc 里面生成目录 keepalived,有文件 keepalived.conf
4、完成高可用配置(主从配置)
(1)主机 Nginx 修改/etc/keepalived/keepalivec.conf 配置文件
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL # 主机名字
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2 #(检测脚本执行的间隔)
weight 2 # 权重
}
vrrp_instance VI_1 {
state MASTER # 备份服务器上将 MASTER 改为 BACKUP
interface ens33 # 网卡
virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.77.50 # VRRP H 虚拟地址
}
}(2)主机 /usr/local/src添加检测脚本:nginx_check.sh
(3) 从机 Nginx修改/etc/keepalived/keepalivec.conf 配置文件
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.17.129
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/usr/local/src/nginx_check.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP # 修改为从机 BACKUP
interface ens33 # 修改为从机 ip
virtual_router_id 51
priority 90 # 优先级比主机低
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.77.50
}
}(4)从机 /usr/local/src添加检测脚本:nginx_check.sh
#!/bin/bash A=`ps -C nginx –no-header | wc -l` if [ $A -eq 0 ];then /usr/local/nginx/sbin/nginx sleep 2 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then killall keepalived fi fi
(5)、启动 Nginx
分别启动主从 Nginx ,切换到/usr/local/nginx/sbin/,执行./nginx
(6)、主从都启动 keepalived
CentoS6启动命令
Centos7启动命令
(7)、主从都测试 keepalived 是否启动成功
5、最终测试
此时便可以通过虚拟 ip 地址访问到 Nginx 。
6、将从机nginx和keepalived停掉,继续访问虚拟ip,依旧可以方位到nginx,高可用至此完成。
上一篇:nginx界面管理工具之nginxWebUI 搭建与使用方法
栏 目:Nginx
本文标题:Nginx搭建高可用的实现
本文地址:https://fushidao.cc/server/827.html
您可能感兴趣的文章
- 02-26开源服务器nginx(开源服务器监控)
- 02-26nginx日志模块如何高效管理nginx服务器日志?
- 02-26如何通过nginx配置文件精确设置代理服务器,实现高效代理?
- 02-26腾讯云服务器配置nginx HTTPS,具体步骤和优化细节有哪些?
- 02-26如何分析20台服务器nginx日志,找出访问次数最多的IP地址?
- 02-26服务器Nginx开启不成功?30招排查解决指南揭秘!
- 02-26nginx视频点播服务器究竟是什么?揭秘其工作原理与优势!
- 02-26如何在nginx配置rtmp服务器实现多路直播流搭建?
- 02-26反向代理服务器Nginx,如何确保其安全性避免潜在风险?
- 02-26如何高效配置和管理nginx webui作为高性能Web服务器?
阅读排行
- 1开源服务器nginx(开源服务器监控)
- 2nginx日志模块如何高效管理nginx服务器日志?
- 3如何通过nginx配置文件精确设置代理服务器,实现高效代理?
- 4腾讯云服务器配置nginx HTTPS,具体步骤和优化细节有哪些?
- 5如何分析20台服务器nginx日志,找出访问次数最多的IP地址?
- 6服务器Nginx开启不成功?30招排查解决指南揭秘!
- 7nginx视频点播服务器究竟是什么?揭秘其工作原理与优势!
- 8如何在nginx配置rtmp服务器实现多路直播流搭建?
- 9反向代理服务器Nginx,如何确保其安全性避免潜在风险?
- 10如何高效配置和管理nginx webui作为高性能Web服务器?
推荐教程
- 09-22nginx界面管理工具之nginxWebUI 搭建与使用方法
- 09-22Prometheus 和 Grafana 通过nginx-exporter监控nginx的
- 09-22Nginx中alias指令的实现
- 09-22Nginx-Proxy-Manager可视化管理平台的使用
- 09-22Nginx动态压缩gzip的实现示例
- 09-22使用Nginx部署前端Vue项目的实现
- 01-31Ubuntu
- 09-22nginx basic认证的实现示例
- 02-01如何优化nginx服务器配置以提升网站性能与安全?
- 09-22Nginx IP限制与路径访问控制配置






