我只是build立了一个Ubuntu的Web服务器的微型实例亚马逊EC2。 Everthing运行良好,我设法configurationVirtualHost,但我很难设置子域。 以下是我所做的:
$ mkdir /var/www/mydomain $ mkdir /var/www/mysubdomain $ chmod -R 774 /var/www/mydomain $ chmod -R 774 /var/www/mysubdomain $ vim /etc/apache2/sites-available/mydomian <VirtualHost *:80> ServerAdmin [email protected] ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/mydomian </VirtualHost> $ vim /etc/apache2/site-available/mysubdomain <VirtualHost *:80> ServerName mysubdomain.localhost # also tried mysubdomain.mydomain.com DocumentRoot /var/www/mysubdomian <Directory /var/www/mysubdomain/ > Options Indexes FollowSymLinks MultiViews +Includes AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> $ ln -s /etc/apache2/sites-available/mydomian /etc/apache2/sites-enabled/mydomian $ ln -s /etc/apache2/sites-available/mysubdomain /etc/apache2/sites-enabled/mysubdomain
重新启动Apache mydomain.com后,工作正常,但mysubdomain.mydomain.com不起作用。 有任何想法吗?
PS我也添加了staging.localhost到/ etc / hosts(不知道如果我需要这样做,但…)
删除/ etc / apache2 / sites-enabled中的所有符号链接
sudo a2ensite mydomain sudo a2ensite mysubdomain sudo apache2ctl restart
另外,请确保您的NameVirtualHost指令在VirtualHostconfiguration被读取之前。 一个简单的方法是将其添加到/etc/apache2/ports.conf
您可能有一个默认的网站站点可用(可能符号链接为000-默认启用网站)。 如果你想保持这个默认configuration,你可以在该文件的开头添加NameVirtualHost行。
有可能是你的NameVirtualHost是错误的。它应该匹配什么在你的虚拟主机部分,所以它应该是
NameVirtualHost *:80
也不知道这是什么
$ ln -s /etc/apache2/sites-available/mydomian $ vim /etc/apache2/sites-enabled/mydomian
我猜猜错了? 但他们在网站启用好吗?
我发现这个问题,谢谢你们的帮助。 原来我的Apacheconfiguration文件在哪里罚款。 我需要在我的域名registry创build一个A(主机)logging,指向EC2“Elastic”IP。