定义虚拟主机后,apache 无法启动

定义虚拟主机后,apache 无法启动

我已经在我的服务器上设置了 virtualnamehosts ,并且在启动 apache 时没有收到任何错误,但是当我检查它是否已启动时,它显示:

httpd dead but pid file exists

谢谢您的帮助。

这是我的配置:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier 
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName mysite.com
ServerAlias www.mysite.com
ErrorLog /var/log/httpd/mysite.com/error_log
CustomLog /var/log/httpd/mysite/access_log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin [email protected] 
DocumentRoot /var/www/savvyParts
ServerName mysite2.com
ServerAlias www.mysite2.com
ErrorLog /var/log/httpd/mysite2.com/error_log
CustomLog /var/log/httpd/mysite2.com/access_log common
</VirtualHost>

答案1

要测试配置的正确性,请使用以下命令;

 # service httpd configtest
 Syntax OK

我尝试了您的测试配置,但出现了一些路径错误;

# service httpd configtest
Warning: DocumentRoot [/var/www/savvyParts] does not exist
Syntax OK

此后它就无法启动了。

所以首先 检查 DocumentRoot 的路径以及实际存在的路径

如果这不能解决问题,那么您应该提供以下命令的输出;

 # cat /var/log/httpd/error_log

[Thu May 10 05:22:00 2012] [notice] Digest: done
[Thu May 10 05:22:00 2012] [notice] SSL FIPS mode disabled
[Thu May 10 05:22:00 2012] [notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.11 mod_ssl/2.2.22 OpenSSL/1.0.0h-fips configured -- resuming normal operations

您还可以以 root 身份从命令行启动 httpd,并观察任何其他启动错误;

# /usr/sbin/httpd
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

相关内容