在 Apache 中配置虚拟主机(Virtual Host)可以让您在同一台服务器上部署和托管多个网站,这也是 Web 服务器多站点管理中最常见的做法之一。以下是 Apache 配置虚拟主机的基本步骤:

1. 启用必要的模块
首先,请确认已经启用 mod_vhost_alias 和 mod_rewrite 模块。您可以通过以下命令开启这些 Apache 模块:
sudo a2enmod vhost_alias
sudo a2enmod rewrite然后重启 Apache 服务,使模块配置生效:
sudo systemctl restart apache22. 创建虚拟主机配置文件
在 /etc/apache2/sites-a vailable/ 目录中,创建一个新的虚拟主机配置文件。例如,新建名为 example.com.conf 的站点配置文件:
sudo nano /etc/apache2/sites-a vailable/example.com.conf3. 配置虚拟主机
在刚创建的配置文件中加入以下内容,完成 Apache 虚拟主机的基础设置:
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerAdmin:用于填写网站管理员的电子邮箱地址。ServerName:指定网站绑定的主域名。ServerAlias:用于设置可选的别名域名,例如带www的访问地址。DocumentRoot:定义网站文件所在的根目录。:用于设置网站根目录的访问权限与规则。ErrorLog和CustomLog:用于指定错误日志和访问日志的存储路径。
4. 启用虚拟主机
使用 a2ensite 命令启用新建的虚拟主机配置文件,让该站点在 Apache 中生效:
sudo a2ensite example.com.conf5. 禁用默认站点(可选)
如果您不再需要 Apache 默认站点,可以将其禁用,以避免与新配置的网站产生冲突:
sudo a2dissite 000-default.conf6. 重启Apache服务
最后,再次重启 Apache 服务,以便正式应用虚拟主机相关更改:
sudo systemctl restart apache27. 配置DNS
请确保您的域名(例如 example.com)已经正确解析到服务器 IP 地址。通常可以在域名注册商或 DNS 服务商的控制面板中完成这一步配置。
8. 测试配置
配置完成后,打开浏览器访问对应域名,检查网站是否能够正常显示,并确认 Apache 虚拟主机是否已经成功生效。
完成以上步骤后,您就可以在 Apache 中成功配置虚拟主机。根据实际业务需求,您还可以继续创建多个虚拟主机配置文件,为不同网站分别设置独立域名、站点目录和访问规则,从而实现一台服务器托管多个网站。
