基于名称的虚拟主机配置
基于名称的 Apache 虚拟主机在 Apache 网站上描述如下:
使用基于名称的虚拟主机,服务器依赖客户端将主机名报告为 HTTP 标头的一部分。使用此技术,许多不同的主机可以共享相同的 IP 地址。
因此,可以通过此方法在一台服务器上托管多个网站。在 ubuntu 上,配置文件位于/ etc / apache2 / sites-available 中。在该目录中,你将找到 000-default.conf。这是默认配置,所有请求都将发送到此配置文件,直到其他请求被设置为止。
要设置虚拟主机,此处将使用 example.com ,但你应将其替换为 domain.com 。复制默认文件:
cp 000-default.conf example.com.conf
配置文件可以具有以下指令:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/log/apache/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache/logs/access.log combined
</VirtualHost>
- 第一行表示应匹配端口 80(默认 http 端口)上的所有请求。你也可以使用 IP 地址而不是*,即服务器的 IP。
ServerAdmin
是用于显示 http 错误消息的网站管理员的联系方式。ServerName
是网站的域名。ServerAlias
是网站的第二名,通常是 www.domain.comDocumentRoot
是我们浏览网站时加载的根文件夹。ErrorLog
是指向错误的文件LogLevel
。是要发送到日志的错误级别CustomLog
是访问信息的文件
使用你的网站域名和网站文件的相应目录编辑替换 example.com 的文件。
保存文件并使用以下 Apache 命令启用站点:
sudo a2ensite example.com.conf
重新加载 apache
sudo service apache2 reload
还有一些必须检查的事情:
- 确保你的域的 DNS 设置为正确的 IP(这可能需要一段时间才能传播)
- 确保你的端口 80 在防火墙上打开
- 确保在服务器文件上正确设置了文件权限 - 所有权应为 www-data:www-data 和目录权限应为 750,文件权限应为 640。
你的虚拟主机应该正常运行! 你可以为同一服务器上的其他网站重复此操作,使用不同的配置文件(使用相同的命名约定)和/ var / www 下的不同目录。