apache 当您的IP地址作为URL输入时,您如何设置默认网站?

mmvthczy  于 2022-11-16  发布在  Apache
关注(0)|答案(4)|浏览(161)

我有一个服务器与多个网站托管和区分使用基于名称的虚拟主机的apache。
我如何设置它,使一个特定的网站托管时,我的服务器的ip是在地址栏中输入?

inn6fuwd

inn6fuwd1#

您要使用的是_default_VirtualHost

<VirtualHost _default_:80>
    DocumentRoot /www/default80
    # ...
</VirtualHost>

基本上,如果没有其他匹配的请求,将使用_default_主机。

编辑

这也可以写成:

<VirtualHost *>
    DocumentRoot /www/default
    # ...
</VirtualHost>

这是配置中的第一个VirtualHost,这一点很重要,因为Apache将开始从上到下匹配它们,根据ServerNameServerAlias选择最适合的一个。
这篇文章也可能是感兴趣的:Apache default VirtualHost

b1payxdu

b1payxdu2#

只需在您的apache2.conf文件中找到Include sites-enabled/行,然后在它上面添加您希望成为站点默认值的conf文件的路径。从:

Include sites-enabled/

Include sites-enabled/mydefault.conf
Include sites-enabled/
4ktjp1zp

4ktjp1zp3#

当你第一次安装apache2时,有一个名为000-default.conf的站点配置文件,这将是默认的,因为它很可能出现在/etc/apache2/sites-enabled下的文件列表中的第一个。
要将您自己的文件作为默认文件,您可以将/etc/apache2/sites-available/000-default.conf下的文件替换为您自己的文件,或者如下所示替换链接:

sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo ln -s ../sites-available/my-site-setup.conf /etc/apache2/sites-enabled/000-default.conf

然后重新启动apache2(或者只是重新加载)。
另一个答案中提到的_default_是用来定义一个虚拟主机的,它可以用默认的IP地址找到。它不是默认的虚拟主机。

<VirtualHost _default_:80>
...

相当于

<VirtualHost *:80>
...

*是匹配任何IP地址的全局模式。
注意事项:
替换000-default.conf文件是可以的,但在大多数情况下,安装包会将其视为一个修改过的文件,并以某种 * 奇怪 * 的方式管理它,这就是为什么我认为只更改软链接更干净。

u7up0aaq

u7up0aaq4#

保持干净,不要删除或编辑/etc/apache2/sites-available/中的任何内容。

  • /etc/apache2/sites-available/中 * 创建 * 所有新站点配置。* 复制 * 您要启用到/etc/apache2/sites-enabled/的任何站点配置。仅确保/etc/apache2/sites-enabled/只有一个配置文件。

Ubuntu 20.04 LTS中新apache站点配置的示例格式如下

<VirtualHost *:80>
    ServerName http://localhost
    ServerAdmin admin@mysite.com
    DocumentRoot /var/www/html/mysiteroot/public
    <Directory /var/www/html/mysiteroot>
        AllowOverride All
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

请注意,默认情况下,000-default.conf位于上述两个目录中,并且只应替换为/etc/apache2/sites-enabled/中的新配置,以便在需要时随时恢复。
在进行任何配置更改后重新启动Apache2服务。

相关问题