如何排除Linxu上Apache Web服务器的问题

问题描述
Apache服务不能正常工作或无法启动。如何排除Linux上Apache Web服务器的问题?

回答
通过SSH或运行终端连接到服务器。
注意:在Debian操作系统上Apache 2 binary的名称是“apache2”,而不是像在红帽Linux上的“httpd”。
1. 确保 “httpd”(在Debian上是“apache2”)进程显示在ps”输出中:
# ps aux | grep httpd | grep -v grep

2. 如果“httpd”(在Debian上是“apache2”)进程没有显示在ps”输出中,试着从Plesk中(工具与设置>服务管理)或通过命令行(终端)重启Apache:
# service apache2 start (For Debian/Ubuntu)
# service httpd start (For RHEL/CentOS)

如果收到一个错误,运行Plesk自动web修复(从Plesk12.5版本就可用),并尝试再次重启Apache:
# plesk repair web -y

如果Plesk安装包损坏,则执行以下命令:
# plesk repair installation

3. 检查/var/log/httpd/error_log日志(Debian上是/var/log/apache2/error_log),查看关于错误的详细描述,并在Plesk知识库(https://support.plesk.com/hc/en-us)中搜索错误信息

4. 如果没有出现任何错误,并且Apache没有启动,确保/var/log/httpd/error_log(不同操作系统的路径可能不同)所占内存不超过2GB。

5. 确保Apache在监听所有需要的IP地址上的HTTP和HTTPS端口(80/443 or 7080/7081):
# netstat -ntpl | grep httpd
tcp 0 0 0.0.0.0:7080 0.0.0.0:* LISTEN 528/httpd
tcp 0 0 0.0.0.0:7081 0.0.0.0:* LISTEN 528/httpd

6. 检查Apache服务器能否正常响应,尝试使用“curl”或一个控制台浏览器(如Lynx,links)从服务器本身打开一个页面:
# curl example.com

7.通过运行以下命令检查网站配置是否被加载到了Apache中:
# httpd -S (For CentOS/RHEL)
# apache2ctl -S (For Debian/Ubuntu)
注意:如果启用了这一设置,输出应当包含所有网站,同时有这些网站的配置、端口和网页邮件的链接。

提交
还没有评论,快来抢沙发吧!