mgP*_*ePe 11 mac-osx apache-2.2
我注意到在我的 linux 服务器上,当我输入 apachectl restart 时,它给了我很少但很有帮助的反馈,例如restarting然后[ok]或[fail]在行尾。不多,但至少我知道发生了什么,我可以去查看日志。
在我的 OS X 上,我什么也得不到。立即下一行:
sh-3.2# /usr/sbin/apachectl stop
sh-3.2# /usr/sbin/apachectl start
sh-3.2#
Run Code Online (Sandbox Code Playgroud)
如何启用这些“调试”功能?
Ran*_*ley 34
我的 mac 也有同样的问题。当我尝试启动 apache 并且没有任何反应时,我会立即运行此命令。就我而言,问题似乎总是出在 apache 配置文件中。
apachectl configtest
Run Code Online (Sandbox Code Playgroud)
apachectl在 Mac 上是一些launchctl命令的包装器(只需查看文件)。不幸的是,launchctl 在开始出现问题时不会以错误代码退出httpd,因此脚本没有简单的方法来显示任何内容,即使它尝试显示。
您可以自己执行的一项基本检查是在apachectl start命令之后检查 Apache 进程是否存在 。
ps aux | grep httpd
Run Code Online (Sandbox Code Playgroud)
在 apachectl 包装器脚本中,你在最后贴上这样的东西怎么样。
tail -5 /var/log/httpd/error_log
Run Code Online (Sandbox Code Playgroud)
你应该在正常的启动中看到这样的东西
否则,任何错误都应至少部分显示在此处。上面突出显示了关键短语。
附加: /usr/sbin/apachectl 归 root 所有,您必须是特权用户才能执行此操作。须藤vi /usr/sbin/apachectl
移到文件末尾并将其插入“esac”和“exit $ERROR”行之间。IE。
esac
sleep 2; tail -5 /var/log/httpd/error_log
exit $ERROR
Run Code Online (Sandbox Code Playgroud)
请注意,无论您对脚本采取什么操作,停止启动,重新启动,这都会打印出最后几行。您可能只想将其放在 case 语句的开始部分。
| 归档时间: |
|
| 查看次数: |
118595 次 |
| 最近记录: |