Tom*_*aws 11 apache ubuntu-13.10
我有各种虚拟主机用于我的Web开发工作,包括cnm.该
sites-available/cnm
Run Code Online (Sandbox Code Playgroud)
我的文件非常简单地说:
<VirtualHost *:80>
ServerName cnm
DocumentRoot /var/www/cnm/public_html
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我升级到Ubuntu 13.10,当我将浏览器指向cnm /时,我看到/var/www/index.html文件似乎在默认文件中显示
sites-available/000-default.conf
Run Code Online (Sandbox Code Playgroud)
其中说(除其他外):
<VirtualHost *:80>
DocumentRoot /var/www
Run Code Online (Sandbox Code Playgroud)
当我浏览到cnm /时,我需要做什么才能让Apache读取我的cnm文档根目录?
笔记:
我已经尝试过重新命名我的网站可用/ CNM文件地点可用/ cnm.conf,并使它a2ensite cnm和 service apache2 reload.这是一件好事,但它什么都没改变.
我已经尝试过<VirtualHost *:80>改为<VirtualHost cnm.localhost>或去<VirtualHost cnm>.那什么都没做.
reg*_*ero 12
Ubuntu 13.10使用apache 2.4,你应该检查你的所有apache配置.但对于这个目前的情况下,你应该注意的是a2ensite,并a2dissite命令将无法看到你的文件/ etc/apache2的/网站可用,如果它不是结束.conf,所以其重命名为sites-available/cnm.conf和运行a2ensite cnm.
然后你的Virtualhost定义肯定更好*:80,这意味着这个虚拟主机被激活为*端口80上的所有IP接口().cnm.localhost或者cnm这里没有有效值,只有IP号码(你的apache服务器的IP)或*所有,以及一个端口号.
然后检查apache如何读取配置,运行这些命令:
# load apache env
# be careful, there is a dot and a space
. /etc/apache2/envvars
# Check apache Virtualhosts config
apache2 -S
Run Code Online (Sandbox Code Playgroud)
你应该得到类似的东西:
VirtualHost configuration:
*:80 is a NameVirtualHost
default server something (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost something (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost cnm (/etc/apache2/sites-enabled/cnm.conf:4)
Run Code Online (Sandbox Code Playgroud)
如果没问题,并且您的主机文件中有正确的IP cnm,并且您可以使用ping进行测试,那么使用http://cnm/应该使用ServerName中具有cnm的Virtualhost .
如果您有来自默认Virtualhost的答案,则表示apache未找到ServerName和ServerAlias列表中使用的名称,该名称可用于该IP /端口,并且回退到默认的Virtualhost.如果你真的陷入困境(并且你没有忘记重新启动),你可以随时删除默认的Virtualhost,并只保留你正在使用的虚拟主机.
我找到了问题的答案.我需要删除/ etc/apache2/sites-enabled中的文件.
sudo a2ensite mysite.sudo service apache2 reload| 归档时间: |
|
| 查看次数: |
13404 次 |
| 最近记录: |