码迷,mamicode.com
首页 > 系统相关 > 详细

haproxy多进程下对后端服务器进行摘除

时间:2019-06-10 15:31:03      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:pid   daemon   无法   创建   info   php   dmi   进程   一个   

haproxy多进程下对后端服务器进行摘除

haproxy在多进程模式下无法直接对后端服务器直接进行软下线,当输入软下线的命令时haproxy依旧可以将用户的请求调度到后端已经下下的服务器上,这是应为haproxy的socket文件的关系,一个socket文件对应一个进程,当haproxy处于多进程的模式下时,就需要有多个socket文件,并将其和进程进行绑定,对后端服务器进行软下线时需要对所有的socket文件下达软下线的指令。
示例:

[root@localhost ~]# vim /etc/haproxy/haproxy.cfg 
global
maxconn 100000
chroot /usr/local/haproxy
stats socket /var/lib/haproxy/haproxy.sock1 mode 600 level admin process 1  #分别使用不用的socket文件名,并使用process选项将其于进程进行绑定
stats socket /var/lib/haproxy/haproxy.sock2 mode 600 level admin process 2 
uid 99
gid 99
daemon
nbproc 2        #haproxy进程数为2,所以需要创建出2个socket文件
cpu-map 1 0
cpu-map 2 1
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local3 info

对后端服务器进行软下线操作

[root@localhost ~]# echo "disable server php_server/web1" | socat stdio /var/lib/haproxy/haproxy.sock1 
[root@localhost ~]# echo "disable server php_server/web1" | socat stdio /var/lib/haproxy/haproxy.sock2 
#对后端的服务器进行下线时分别对每个socket文件发送软下线指令

haproxy多进程下对后端服务器进行摘除

标签:pid   daemon   无法   创建   info   php   dmi   进程   一个   

原文地址:https://blog.51cto.com/11886307/2406607

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!