centos7搭建httpd服务遇到的问题

centos7搭建httpd服务遇到的问题

1.权限,更改根目录后权限不足无法访问:

  • 网站根目录是否可读,其全部父目录是否可读。
  • 根目录的SELinux文件上下文,具体看我另一个相似问题博客:
    https://blog.csdn.net/weixin_45490166/article/details/117902527。可以通过ls -Z查看默认根目录/var/www等的SELinux相关参数进行更改。

-----分割线----------分割线----------分割线----------分割线-------

-----分割线----------分割线----------分割线----------分割线-------

2.增加Listen端口后,httpd无法重启
httpd.conf增加Listen端口后,httpd无法重启,journalctl -xe日志提示错误:
SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8081.
同样是SELinux问题,端口上下文问题

SELinux为系统里的所有端口进行分配。缺省条件下,所有小于1024的端口都标识为保留端口类型 reserved_port_t;所有大于1024的端口标识为port_t。还有一些专用的类型,比如说80端口,对应的类型是http_port_t;5060端口则是sip_port_t。如果你想查询SELinux的所有端口类型,可以用semanage工具。
看下http端口有哪些:

# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

那么解决方案一:从80, 81, 443, 488, 8008, 8009, 8443, 9000里挑选一个配置给httpd。

解决方案二:增加一个http端口:

# semanage port -a -t http_port_t -p tcp 5060

由于5060端口已经分配给SIP,所以上面的的命令是会报错的。

解决方案三:我用的这个,因为我添加监听8081,8081上下文有误,
在这里插入图片描述

所以用命令对其进行了修改

semanage port -m -t http_port_t -p tcp 8081

参考原文链接:https://blog.csdn.net/yetyongjin/article/details/114578776
命令参考:https://blog.csdn.net/weixin_33763244/article/details/94629968?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

#查看端口的上下文
#semanage port -l | grep http
#添加端口的上下文
#semanage port -a -t http_port_t -p tcp 8899
#删除端口的上下文
#semanage port -d -t http_port_t -p tcp 8899
#修改端口的上下文
#semanage port -m -t http_port_t -p tcp 8899

3.防火墙
本地能访问,非本地不能访问,多半是防火墙挡了
查看端口开放状态:

#firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: cockpit dhcpv6-client ftp ssh
  ports: 21/tcp 30000-30999/tcp 514/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

添加开放端口:

#firewall-cmd --permanent --zone=public --add-port=80/tcp
success
#systemctl reload firewalld.service

成功解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值