![我刚刚重启了 Apache,现在服务器已经宕机](https://linux22.com/image/534759/%E6%88%91%E5%88%9A%E5%88%9A%E9%87%8D%E5%90%AF%E4%BA%86%20Apache%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B7%B2%E7%BB%8F%E5%AE%95%E6%9C%BA.png)
我现在非常害怕。我害怕几分钟后我会接到上百人的电话,说网站无法使用。
当我重新启动服务器以使用以下命令更新 .conf 文件时,我正在终端更改一些配置文件:
/etc/init.d/apache2 graceful
运行该程序后,所有网站都无法运行,我不知道该怎么办。
根据日志文件,我收到大约 100 个错误。它们都以“PHP 通知”开头,大多数与“使用未定义常量”有关。此外,我刚刚与一位同事交谈,描述了我所做的事情,他注意到服务器上有两个 apache 安装,我重新启动了我们不使用的那个。
错误日志的内容如下(假设它是正确的错误日志):
[2011 年 1 月 5 日星期三 11:52:06] [通知] 已请求优雅重启,正在重启 警告:DocumentRoot [/u/apps/staging/antetr/current/public/] 不存在 [2011 年 1 月 5 日星期三 11:52:08] [警告] NameVirtualHost *:80 没有 VirtualHosts (98)地址已在使用中:make_sock:无法绑定到地址 [::]:80 (98)地址已在使用中:make_sock:无法绑定到地址 0.0.0.0:80 没有可用的监听套接字,正在关闭 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志 (2)没有这样的文件或目录:apache2:无法打开错误日志文件/u/apps/production/madfilmdash/current/log/apache-error.log。 无法打开日志
最后更新:
好的,我修复了它。问题是(你们这些专家可能知道)它无法访问我工作的目录中的错误日志。我创建了一个空的错误日志文件并再次尝试重新启动命令,现在所有网站都恢复了……尽管我原来的问题仍然存在……
感谢所有提供建议的人,它们确实很有帮助,让我可以松一口气。
答案1
您的 apache 日志文件位置因系统而异。来自 cyberciti.biz:
- RHEL / Red Hat / CentOS / Fedora Linux Apache 错误文件位置 - /var/log/httpd/error_log
- Debian / Ubuntu Linux Apache 错误日志文件位置 - /var/log/apache2/error.log
- FreeBSD Apache 错误日志文件位置 - /var/log/httpd-error.log
将来,请在编辑 .conf 文件之前对其进行备份,并以更改的日期戳命名,以便在最坏的情况下,您可以恢复到以前的版本,或者只注释掉更改的行并为新行添加注释,以便您可以跟踪何时以及为什么更改了内容。如果编辑时没有办法返回,那么肯定会招致坏运气。
答案2
进入 apache 安装文件夹并查找“logs”,然后查找 error_log 或 error.log。它应该能让您了解问题出在哪里。
如果尚未打开,您可以在 httpd.config 中将其打开。
在 *nix 中,它通常位于 [apacheroot]/logs/httpd/error_log
在 Windows 中,它默认为 [apacheroot]/logs/error.log
答案3
尝试查看错误日志。在大多数 Linux 系统上,错误日志位于 /var/log/httpd/error_log。
在编辑配置文件之前,您确实保存了备份,对吗?如果您需要快速修复,您可以将配置文件恢复到更改之前的状态,然后重新启动服务器。