我正在使用 Linux Mint 17.3,并尝试在 Apache 2.4 上创建虚拟主机。我已按照以下步骤操作,但仍然无法浏览该网站。
创建两个新的虚拟主机。
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site1.com.conf
修改每个主机。
sudo vim /etc/apache2/sites-available/site1.com.conf <VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com ServerAdmin [email protected] DocumentRoot /var/www/site1.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
启用新的虚拟主机文件。
sudo a2ensite site1.com // Disable original html host sudo a2dissite 000-default.conf sudo service apache2 reload
添加主机信息。
sudo vim /etc/hosts 127.0.0.1:88 site1.com 127.0.0.1:89 site2.com
我已经在网上查了所有我能查到的东西。我想知道我在这里缺少哪一步。
答案1
我认为你的配置应该是这样的:
Listen 80
<VirtualHost *:80>
DocumentRoot "/www/example1"
ServerName www.example.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/www/example2"
ServerName www.example.org
# Other directives here
</VirtualHost>
仅使用 000-default.conf,并忘记其他配置,直到您更熟悉其工作原理。如果您有一个应用程序服务器(例如在特定端口上提供服务的节点或 tomcat),那么您可以将虚拟主机端口配置为该应用程序的端口,但看起来您正在尝试从 /var/www/ 提供静态资源,因此您不需要甚至不需要多个端口映射。 Apache 只会监视请求并将流量路由到适合您的位置。通过此配置,您的主机文件将变为:
127.0.0.1:80 example.com
127.0.0.1:80 example.org
编辑:既然您已经发布了conf文件的大部分内容,看起来您listen 80
在文件顶部缺少一个指令?