我有一个服务器与多个网站托管和区分使用基于名称的虚拟主机的apache。我如何设置它,使一个特定的网站托管时,我的服务器的ip是在地址栏中输入?
inn6fuwd1#
您要使用的是_default_VirtualHost。
_default_
VirtualHost
<VirtualHost _default_:80> DocumentRoot /www/default80 # ... </VirtualHost>
基本上,如果没有其他匹配的请求,将使用_default_主机。
编辑
这也可以写成:
<VirtualHost *> DocumentRoot /www/default # ... </VirtualHost>
这是配置中的第一个VirtualHost,这一点很重要,因为Apache将开始从上到下匹配它们,根据ServerName和ServerAlias选择最适合的一个。这篇文章也可能是感兴趣的:Apache default VirtualHost
ServerName
ServerAlias
b1payxdu2#
只需在您的apache2.conf文件中找到Include sites-enabled/行,然后在它上面添加您希望成为站点默认值的conf文件的路径。从:
apache2.conf
Include sites-enabled/
至
Include sites-enabled/mydefault.conf Include sites-enabled/
4ktjp1zp3#
当你第一次安装apache2时,有一个名为000-default.conf的站点配置文件,这将是默认的,因为它很可能出现在/etc/apache2/sites-enabled下的文件列表中的第一个。要将您自己的文件作为默认文件,您可以将/etc/apache2/sites-available/000-default.conf下的文件替换为您自己的文件,或者如下所示替换链接:
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文件是可以的,但在大多数情况下,安装包会将其视为一个修改过的文件,并以某种 * 奇怪 * 的方式管理它,这就是为什么我认为只更改软链接更干净。
*
u7up0aaq4#
保持干净,不要删除或编辑/etc/apache2/sites-available/中的任何内容。
/etc/apache2/sites-available/
/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服务。
4条答案
按热度按时间inn6fuwd1#
您要使用的是
_default_
VirtualHost
。基本上,如果没有其他匹配的请求,将使用
_default_
主机。编辑
这也可以写成:
这是配置中的第一个
VirtualHost
,这一点很重要,因为Apache将开始从上到下匹配它们,根据ServerName
和ServerAlias
选择最适合的一个。这篇文章也可能是感兴趣的:Apache default VirtualHost
b1payxdu2#
只需在您的
apache2.conf
文件中找到Include sites-enabled/
行,然后在它上面添加您希望成为站点默认值的conf文件的路径。从:至
4ktjp1zp3#
当你第一次安装apache2时,有一个名为
000-default.conf
的站点配置文件,这将是默认的,因为它很可能出现在/etc/apache2/sites-enabled
下的文件列表中的第一个。要将您自己的文件作为默认文件,您可以将
/etc/apache2/sites-available/000-default.conf
下的文件替换为您自己的文件,或者如下所示替换链接:然后重新启动apache2(或者只是重新加载)。
另一个答案中提到的
_default_
是用来定义一个虚拟主机的,它可以用默认的IP地址找到。它不是默认的虚拟主机。相当于
*
是匹配任何IP地址的全局模式。注意事项:
替换
000-default.conf
文件是可以的,但在大多数情况下,安装包会将其视为一个修改过的文件,并以某种 * 奇怪 * 的方式管理它,这就是为什么我认为只更改软链接更干净。u7up0aaq4#
保持干净,不要删除或编辑
/etc/apache2/sites-available/
中的任何内容。/etc/apache2/sites-available/
中 * 创建 * 所有新站点配置。* 复制 * 您要启用到/etc/apache2/sites-enabled/
的任何站点配置。仅确保/etc/apache2/sites-enabled/
只有一个配置文件。Ubuntu 20.04 LTS中新apache站点配置的示例格式如下
请注意,默认情况下,
000-default.conf
位于上述两个目录中,并且只应替换为/etc/apache2/sites-enabled/
中的新配置,以便在需要时随时恢复。在进行任何配置更改后重新启动Apache2服务。