使用两台物理机 + nginx + keepalived 部署高可用(需要注意些什么问题,比如redis,mysql)
在两台物理机上安装Nginx和Keepalived:
使用适合您操作系统的包管理器(如apt、yum)安装Nginx和Keepalived。例如,在Ubuntu上使用以下命令安装:
sudo apt-get update
sudo apt-get install nginx keepalived
配置Nginx:
编辑Nginx配置文件 /etc/nginx/nginx.conf
,根据您的需求配置虚拟主机、代理设置等。
重新加载Nginx配置以使更改生效:
sudo systemctl reload nginx
配置Keepalived:
编辑Keepalived配置文件/etc/keepalived/keepalived.conf。
在配置文件中设置global_defs部分,指定router_id参数:
global_defs {
router_id nginx-proxy-ha
}
在配置文件中设置vrrp_script部分,用于监控Nginx的可用性。您可以编写一个脚本来检查Nginx的运行状态,并在脚本中指定路径和监控间隔:
vrrp_script check_nginx {
script "/path/to/check_nginx.sh"
interval 2
}
在配置文件中设置vrrp_instance部分,指定状态(MASTER或BACKUP)、监控接口、虚拟路由器ID、优先级和身份验证等参数。同时,将virtual_ipaddress设置为您希望使用的虚拟IP地址:
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
authentication {
auth_type PASS
auth_pass your_password
}
track_script {
check_nginx
}
virtual_ipaddress {
192.168.1.100
}
}
注意:确保interface参数与实际的监控接口匹配,并将virtual_ipaddress设置为您的虚拟IP地址。
启动和配置Keepalived服务:
启动Keepalived服务:
sudo systemctl start keepalived
配置Keepalived为开机启动:
sudo systemctl enable keepalived
本作品采用《CC 协议》,转载必须注明作者和本文链接
global_defs { router_id nginx-proxy-ha } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" ###监控脚本 interval 2 ###监控时间 weight 2 ###目前搞不清楚 } vrrp_instance VI_1{ state MASTER ### 设置为 主 interface eth0 ### 监控网卡 virtual_router_id 51 ### 这个两台服务器必须一样 priority 101 ### 权重值 MASTRE 一定要高于 BAUCKUP authentication { auth_type PASS ### 加密 auth_pass eric ### 加密的密码,两台服务器一定要一样,不然会出错 } track_script { check_nginx ### 执行监控的服务 } virtual_ipaddress { 192.168.1.100 ### VIP 地址 } } 这个这样配置有什么毛病吗 为啥192.168.1.100 这个ip访问不了