Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55033
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 141
  • 用 户 组: 普通用户
  • 注册时间: 2016-09-11 19:50
个人简介

Change myself!

文章分类

全部博文(15)

文章存档

2017年(14)

2016年(1)

我的朋友

分类: LINUX

2017-11-12 14:00:57

在haproxy系统里面,误操作将/var/run和/var/lock/subsys及其目录下文件权限改成777了,之后重启haproxy服务失败,并且报错:
Starting proxy : cannot bind socket ... ...
关闭服务和重启服务都出现报错,在网上查询的结果说:可能配置文件里面端口号被重复占用了
(1)检查配置文件语法,均显示正常:
# haproxy -c -f /etc/haproxy/haproxy.cfg
Configuration file is valid
Configuration file is valid
(2)检查内核参数:
查看/etc/sysctl.conf下面的参数均已存在
net.ipv4.ip_forward = 1
net.ipv4.ip_nonlocal_bind = 1
(3)查看selinux 
已关闭
解决方法:
(安装原来的权限修改回去之后貌似还不能正常启动)
最后采取了比较粗暴的方法:杀掉haproxy进程,删除/var/run和/var/lock/subsys目录下的所有文件
[root@haproxy ~]# ps -ef | grep haproxy
haproxy  19182     1  1 Nov10 ?        00:42:55 /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
root     24670 24578  0 13:34 pts/0    00:00:00 grep haproxy
[root@haproxy ~]# kill -9 19182
[root@haproxy ~]# rm -rf /var/run/*
[root@haproxy ~]# rm -rf /var/lock/subsys/*
[root@haproxy ~]# /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
[root@haproxy ~]# service haproxy status
haproxy (pid  19182) is running...
原因分析:
/var/lock/subsys的作用:
系统关闭的过程(发出关闭信号,调用服务自身的进程)中会检查/var/lock/subsys下的文件,逐一关闭每个服务,如果某一运行的服务在/var/lock/subsys下没有相应的选项。在系统关闭的时候,会像杀死普通进程一样杀死这个服务。通常与该目录配套的还有/var/run目录,用来存放对应实例的PID.
/var/run下面 pid文件的作用:
防止进程启动多个副本。只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。
阅读(3486) | 评论(0) | 转发(0) |
0

上一篇:nginx升级openssl版本

下一篇:没有了

给主人留下些什么吧!~~