灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2811回复:0

Linux下apache mysql等服务修改默认端口后无法正常启动解决办法

楼主#
更多 发布于:2012-08-27 15:05



Linux 下 apache mysql等服务修改默认端口后无法正常启动解决办法

服务器上装了两个webserver,一个是nginx 开在80端口,没有异常。另外一个是 apache 绑定的 8001 端口,可是启动服务时报错:

Starting httpd: (13)Permission denied: make_sock: could not bind to address

上网查了下,找到了原因,原来罪魁祸首是 selinux 这个东西。

简单介绍一下SELinux ,全称 Security-Enhanced Linux,它是一种强制存取控制(mandatory access control)的实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。它的作法是以最小权限原则(principle of least privilege)为基础,在Linux核心中使用Linux安全模组(Linux Security Modules)。它并非一个Linux发行版,而是一组可以套用在类Unix操作系统(如Linux、BSD等)的修改。它的开发者是美国国家安全局。  www.atcpu.com  

现在讲解决办法:

方法一:关闭SELinux

这是最快速直接的办法,也是很多人常用的办法,缺点是牺牲了系统的安全

你可以彻底关闭或者将SELinux模式设置成宽容模式,两种方式都可以。

彻底关闭方法:

$ vim /etc/selinux/config

在 SELINUX=enforcing 前面加个#号注释掉它
#SELINUX=enforcing

然后新加一行
SELINUX=disabled

保存,退出,重启系统

设置成宽容模式方法:

$ setenforce 0
  www.atcpu.com  
方法二:修改SELinux 规则

查看现在的支持http的端口有哪些

$ semanage port -l|grep http

为http服务添加新的端口号

$ semanage port -a -t http_port_t -p tcp 8001

查看添加的结果

$ semanage port -l|grep http



摘自 苗雨顺的专栏


喜欢0 评分0
游客

返回顶部