我正在使用 haproxy 来平衡 mysql 的负载。Haproxy 在 Ubuntu 14.04 上运行。我已ENABLED=1
在/etc/defaults/haproxy
文件中进行了设置。但重新启动时,haproxy 不会作为守护进程启动。配置文件如下所示:
global
daemon
defaults
log global
retries 2
timeout connect 3000
timeout server 5000
timeout client 5000
frontend mysql_read
mode tcp
bind *.*.*.*:3308
default_backend cluster_db_read
backend cluster_db_read
mode tcp
option tcpka
option mysql-check user haproxy_check
balance roundrobin
server s1 *.*.*.*:3306 check
server s2 *.*.*.*:3306 check backup
listen stats
bind 0.0.0.0:8080
mode http
stats enable
stats uri /
stats realm Strictly\ Private
stats auth user:password
#stats auth Another_User:passwd
#stats auth Another_User:passwd
sudo netstat -tulpn 的输出如下
活动互联网连接(仅限服务器)
Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称
tcp 0 0 127.0.0.1:3306 0.0.0.0:* 监听 1078/mysqld
tcp 0 0 192.168.1.102:3308 0.0.0.0:* 监听 1834/haproxy
tcp 0 0 0.0.0.0:8080 0.0.0.0:* 监听 1834/haproxy tcp
0 0 127.0.1.1:53 0.0.0.0:* 监听 1557/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听 913/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* 监听2145/cupsd
tcp6 0 0 :::22 :::* 监听 913/sshd
tcp6 0 0 ::1:631 :::* 监听 2145/cupsd
udp 0 0 0.0.0.0:56175 0.0.0.0:* 803/avahi-daemon: r udp 0 0 0.0.0.0:39839 0.0.0.0:* 1292/dhclient
udp 0 0 127.0.1.1:53 0.0.0.0:* 1557/dnsmasq
udp 0 0 0.0.0.0:68 0.0.0.0:* 1292/dhclient
udp 0 0 0.0.0.0:631 0.0.0.0:* 958/cups-browsed udp 0 0 0.0.0.0:5353 0.0.0.0:* 803/avahi-守护进程:r udp6 0 0 :::53961 :::* 803/avahi-守护进程:r udp6 0 0 :::5353 :::* 803/avahi-守护进程:r udp6 0 0 :::22178 :::* 1292/dhclient
要使 haproxy 作为守护服务,需要做哪些改变?
答案1
由于这是一篇旧帖子,所以不确定是哪个版本的 ubuntu,但对于任何想要在 ubuntu 18.04 或 Ubuntu 18.10 上完成此操作的人来说
要使 HAProxy 服务在重启后仍然存在,请输入以下命令:
systemctl enable haproxy.service
重新启动计算机
登录并检查 HAProxy 是否在启动时运行。
要检查 HAProxy 类型的状态:
service haproxy status
检查输出的活动/运行状态:(主动:活动(运行)) 如果其处于活动状态且正在运行,则您的 HAProxy 正在系统启动时工作。即使其处于活动状态,输出也会指出您可以在配置中修复的任何错误。
您还可以通过 netstat 检查 HAProxy 是否正在运行:
netstat -tulpn