统信服务器操作系统【Apache服务】常见报错说明

全文导读:本文针对常用的 apache(httpd)服务来进行举例介绍,对一般服务报错排查进行介绍,并简单介绍 apache 服务常见的一些报错情景

Apache服务报错问题现象、原因及解决方案

问题一

问题现象

服务启动失败,当服务启动时候出现 journalctl -xe 时可以在终端输入 journalctl -xe,查看服务报错信息,或者使用 systemctl status httpd 查看服务报错信息。
#   journalctl -xe
服务报错信息
 systemctl status httpd
httpd状态查询
从两种查看方式来看报错信息是一样的,所以两种方式都可以查看报错信息。通过上图我们可以看到服务启动失败,报错原因如下图
报错原因

问题原因

导致报错的原因是端口被占用,排查端口被占用原因,分析占用端口的服务是否可以停掉或者修改 httpd 服务端口

解决方案

查看正在使用的端口
#   netstat -anupt
端口使用情况
从上图可以看到nc进程占用82端口,关闭nc进程并重启httpd服务即可解决端口被占用的问题

问题二

问题现象

httpd服务无法启动,报错信息截图
httpd服务无法启动报错截图

问题原因

通过报错信息分析,原因是 selinux导致 httpd 服务无法启动

解决方案

selinux 阻止服务启动
按照解决方案开放 82 端口,或者将 selinux 服务关闭,命令如下:开启 82 端口
semanage port -a -t http_port_t -p tcp 82
关闭 selinux
#   setenforce 0
 sed -i 's#SELINUX=disabled#SELINUX=enforcing#g' /etc/selinux/config

问题三

问题现象

httpd 服务无法启动,报错信息截图
httpd 服务无法启动

问题原因

通过上图分析:由于/etc/httpd/conf/httpd.conf 配置文件 110 行语法错误,导致 httpd 服务无法启动,使用 httpd 自带语法检查工具排错
#   httpd -t
httpd自带语法检查工具排错

解决方案

通过上图分析,配置文件 110 行存在模块书写错误,将 AqlowOverride 改为AllowOverride 即可

问题四

问题现象

httpd服务无法启动,报错信息截图
httpd服务无法启动

问题原因

通过上图分析,原因是服务启动缺少库文件导致无法启动

解决方案

安装提供 libaprutil-1.so.0 库文件的包(apr-util)

问题五

问题现象

服务拒绝连接,报错信息截图
拒绝连接报错截图

问题原因

导致服务拒绝访问有以下几种常见原因:
原因1
服务端口原因,查看 httpd 提供的服务端口,命令如下:
netstat -anpl | grep httpd
解决方案1
原因2
防火墙规则限制,查看防火墙规则,命令如下:
firewall-cmd --permanent --list-all
解决方案2
防火墙原因导致,添加防火墙规则,命令如下:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
原因3
服务未启动,查看服务状态,命令如下:
systemctl status httpd
解决方案3
启动 httpd服务
systemctl restart httpd

问题六

问题现象

错误代码404

问题原因

找不到服务请求网页

解决方案

修正访问 URL

问题七

问题现象

错误代码403

问题原因

服务器拒绝请求

解决方案

查看被访问网页文件权限,开放读权限

 ©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。

2023-02-08
3 4