Apache重啓時報警:web
AH00112: Warning: DocumentRoot [/usr/local/apache/docs/dummy-host.example.com] does not existapache
AH00112: Warning: DocumentRoot [/usr/local/apache/docs/dummy-host2.example.com] does not existvim
問題緣由:spa
Apache在配置虛擬主機時會在配置文件中(httpd.conf)開啓虛擬主機的配置文件;code
將「 #Include /etc/httpd/extra/httpd-vhosts.conf 」前面的「#」去掉;blog
而「httpd-vhosts.conf 」中會有兩個配置虛擬主機的例子:ast
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>class
這樣Apache在啓動時就會去尋找以上兩個不存在的文件夾,就會報錯。配置
解決方法:方法
方法一:新建出不存在的文件夾;
#cd /usr/local/apache #mkdir -p docs/dummy-host2.example.com #這裏是新建文件夾 #mkdir -p docs/dummy-host.example.com
方法二:將「httpd-vhosts.conf 」中的例子註釋掉;
#<VirtualHost *:80> # ServerAdmin webmaster@dummy-host2.example.com # DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com" # ServerName dummy-host2.example.com # ErrorLog "logs/dummy-host2.example.com-error_log" # CustomLog "logs/dummy-host2.example.com-access_log" common #</VirtualHost>
方法三:配置虛擬主機時,不開啓虛擬主機的配置文件,本身新建配置文件;
#vim /etc/httpd/httpd.conf #Include /etc/httpd/extra/httpd-vhosts.conf Incloud /etc/httpd/extra/XXX.conf #新建的配置文件必定要與「httpd-vhosts.conf」放在同一個文件夾內 Incloud /etc/httpd/extra/XXX.conf #文件名稱能夠本身定義
更改完成以後重啓Apache便可。