nginx配置高可用样例

需要两台nginx服务器

需要keepalived

需要虚拟ip

 

 

yum install keepalived -y    安装keepalived
rpm -q -a keepalived           检测keepalived是否安装成功

安装好后去修改配置文件

cd /etc。cd  keepalived/。vim  keepalived.conf


keepalived.conf

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 # 备份服务器上将 MASTER 改为 BACKUP 
 interface ens33 //网卡
 virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
 priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
 advert_int 1
authentication {
 auth_type PASS
 auth_pass 1111
 }
 virtual_ipaddress {
 192.168.17.50 // VRRP H 虚拟地址
 } }

 /usr/local/src 添加检测脚本

#!/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
把两台服务器上 nginx keepalived 启动
启动 nginx./nginx
启动 keepalivedsystemctl start keepalived.service
在浏览器地址栏输入 虚拟 ip 地址 192.168.17.50
 
这里遇到个问题,教程写着192.168.17.50,但是我是192.168.128.50。一开始我也写 17,但是访问不了。后来改成跟虚拟机同的128即可
 
 
测试主从机制
把主服务器(192.168.17.129nginx keepalived 停止,再输入 192.168.17.50
 
 
 
 
Nginx 的原理
 
 
 
3、一个 master 和多个 woker 有好处
1)可以使用 nginx –s reload 热部署,利用 nginx 进行热部署操作
2)每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,
继续进行争抢,实现请求过程,不会造成服务中断
 
 
4、设置多少个 woker 合适

 worker 数和服务器的 cpu 数相等是最为适宜的

 

5、连接数 worker_connection
第一个:发送请求,占用了 woker 的几个连接数?因为一来一回就是2,如果还有个tomcat就是两个一来一回
答案:2 或者 4
第二个:nginx 有一个 master,有四个 woker,每个 woker 支持最大的连接数 1024,支持的
最大并发数是多少?
普通的静态访问最大并发数是: worker_connections * worker_processes /2
而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *
worker_processes/4
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读