如何在 Ubuntu 上设置第二个 Apache 虚拟主机

如何在 Ubuntu 上设置第二个 Apache 虚拟主机

我有一个虚拟主机,但是当我创建第二个虚拟主机并检查 ping 时,它会转到第一个网站,而当在浏览器中检查时,它显示 404 未找到,但第一个工作正常。

答案1

1 在 /etc/hosts

这意味着您正在apache2同一台计算机上运行,​​并尝试通过浏览器访问它。否则,请设置正确的 IP 地址。

127.0.0.1 example.com
127.0.0.1 example1.com

2 调整你的 apache 虚拟主机配置

/etc/apache2/sites-available/example.com.conf

<VirtualHost 127.0.0.1:80>
    ServerAdmin [email protected]
    ServerName example.com
    DocumentRoot /var/www/example.com/public_html

    ErrorLog /var/www/example.com/logs/error.log
    CustomLog /var/www/example.com/logs/access.log combined

    <Directory /var/www/example.com/public_html/ >
            Require all granted
            AllowOverride All
            Options Indexes
    </Directory>
</VirtualHost>

/etc/apache2/sites-available/example1.com.conf

<VirtualHost 127.0.0.1:80>
    ServerAdmin [email protected]
    ServerName example1.com
    DocumentRoot /var/www/example1.com/public_html

    ErrorLog /var/www/example1.com/logs/error.log
    CustomLog /var/www/example1.com/logs/access.log combined

    <Directory /var/www/example1.com/public_html/ >
            Require all granted
            AllowOverride All
            Options Indexes
    </Directory>
</VirtualHost>

3 创建所需目录

sudo mkdir -p /var/www/example.com/{public_html,logs}
sudo mkdir -p /var/www/example1.com/{public_html,logs}

4 启用虚拟主机

sudo a2ensite example.com
sudo a2ensite example1.com

5 重新启动 apache2 以应用更改

sudo service apache2 restart

或者

sudo /etc/init.d/apache2 restart

6 检查是否正常工作

为两台主机创建不同的索引文件

echo "example.com" | sudo tee /var/www/example.com/public_html/index.html
echo "example1.com" | sudo tee /var/www/example1.com/public_html/index.html

打开浏览器并导航至example.com。您应该会看到“example.com”

导航到example1.com。您应该会看到“example1.com”。

相关内容