只需在Debian 6中设置一个Apache Web服务器,并添加以下虚拟主机:
<VirtualHost 123.45.67.89:80> ServerAdmin [email protected] ServerName mysite.com ServerAlias www.mysite.com DocumentRoot /srv/www/mysite.com/public_html ErrorLog /srv/www/mysite.com/logs/error.log CustomLog /srv/www/mysite.com/logs/access.log combined </VirtualHost>
而我启用它(默认的虚拟主机也启用):
a2ensite mysite.com
刷新:
/etc/init.d/apache2 reload
我的/ etc / hosts如下:
127.0.0.1 localhost.localdomain localhost 123.45.67.89 myhost.mysite.com myhost
然后我通过访问mysite.com和www.mysite.com进行testing。 一切工作正常在这一点上。
问题是,每次我重新启动,我不能再访问我的网站了。 不适用于mysite.com和www.mysite.com 。
在摆弄和监视日志之后,似乎重启后apache总是在/ etc / apache2 / htdocs中查找文件。 没有在任何configuration文件中指定。
我可以在重新启动后重新启动的唯一方法是发行/etc/init.d/apache2 reload 。
有什么build议么?
提前致谢。
这是/ etc / apache2 / sites-enabled /
lrwxrwxrwx 1 root root 26 May 4 13:41 000-default -> ../sites-available/default lrwxrwxrwx 1 root root 29 May 4 11:12 mysite.com -> ../sites-available/mysite.com
这是启动后/var/log/apache2/error.log的最后一行
[Wed May 04 13:43:17 2011] [notice] caught SIGTERM, shutting down [Wed May 04 13:43:37 2011] [notice] Apache/2.2.16 (Debian) configured -- resuming normal operations
我怎样才能确保Apache启动启动? 发行:
update-rc.d apache2 defaults
会输出:
update-rc.d: using dependency based boot sequencing
我应该尝试把/etc/init.d/apache2重装在/etc/rc.loca里面吗? (只是为了确保它被执行)
我只是做了一些我认为解决了问题的东西。 我所做的是改变回来:
NameVirtualHost 123.45.67.89:80
至
NameVirtualHost *:80
然后更改每个虚拟主机文件以及:
<VirtualHost 123.45.67.89:80>
至
<VirtualHost *:80>
之后,它只是工作。 我试图重新启动2-3次,仍然有效。 我不知道这是不是一个好的设置。
我首先使用IP地址的原因是因为我的VPS提供商的wiki / doc / library是这么说的。
所以我想我现在要closures这个话题并做更多的testing。
多谢你们。
你可以发表以下内容:
/ etc / apache2 / sites-enabled /
/var/log/apache2/error.log在重启过程中的内容(一旦你在日志底部启动,应该有启动日志。
一个非常非常低的水平,没有真正解决问题的解决scheme将只是
put /etc/init.d/apaceh2 reload inside /etc/rc.local.
最后你确定Apache正在启动? 运行以下
update-rc.d apache2 defaults
解决scheme的有趣,nightrod。
我的猜想是,在Apache启动的时候,你的IP还没有被设置 – 或者是因为eth *被closures了,或者是因为你正在使用静态的DHCP,并且正在等待DHCP服务器的回应,所以Apache(推测如下)不加载VirtualHost定义或NameVirtualHost指令,因为IP当前未在服务器上configuration,所以它不可能匹配。 我猜它仍然绑定端口为*:80,因为回环设备是可用的,所以它可以合理地开始。 结果是,在引入eth *之后,你有apache监听,但没有configurationVirtualHost。