在Apache服务器上设置vhost虚拟主机
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
在 Web 服务器管理中,虚拟主机(Virtual Host,简称 vhost) 是一项非常实用的技术,它允许一台服务器同时托管多个网站,通过配置虚拟主机,不同域名可以指向同一台服务器上的不同目录,从而在共享资源的同时,保持各个网站内容的独立性,本文将详细介绍如何在 Apache 服务器上配置虚拟主机。
准备工作
在开始配置虚拟主机之前,请确保你已完成以下准备工作:
-
安装 Apache 服务器
在 Linux 系统中,可以通过命令安装 Apache,在 Ubuntu 系统中使用以下命令进行安装:sudo apt update && sudo apt install apache2
-
确认虚拟主机模块已启用
Apache 使用<VirtualHost>
指令来支持虚拟主机功能,默认情况下,该功能是启用的,你也可以手动检查是否启用了mod_vhost_alias
模块(如果使用别名功能),或者使用以下命令启用模块:sudo a2enmod vhost_alias
-
创建网站根目录
为每个网站创建独立的文件根目录,sudo mkdir -p /var/www/example.com sudo mkdir -p /var/www/test.com
建议为每个网站添加测试页面以验证配置是否成功:
echo "Welcome to example.com" | sudo tee /var/www/example.com/index.html echo "Welcome to test.com" | sudo tee /var/www/test.com/index.html
配置虚拟主机
Apache 的虚拟主机配置文件通常位于 /etc/apache2/sites-available/
目录下,我们为每个网站创建一个独立的配置文件。
创建并编辑配置文件
以 example.com
为例,执行以下命令创建配置文件:
sudo nano /etc/apache2/sites-available/example.com.conf
在文件中添加如下内容:
<VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
同样地,为 test.com
创建对应的 test.com.conf
文件,并修改对应的域名和文档根目录。
启用站点配置
使用以下命令启用新创建的站点:
sudo a2ensite example.com.conf sudo a2ensite test.com.conf
禁用默认站点(可选)
如果你不希望默认的 000-default
站点干扰,可以将其禁用:
sudo a2dissite 000-default.conf
重启 Apache 服务
完成配置后,重启 Apache 服务以使更改生效:
sudo systemctl restart apache2
配置本地 Hosts 文件(用于测试)
如果你尚未为域名配置 DNS 解析,可以在本地计算机的 hosts
文件中手动添加解析记录,用于测试目的。
在本地 hosts
文件中添加如下内容:
0.0.1 example.com
127.0.0.1 test.com
⚠️ 注意:IP 地址应与服务器地址一致,如果是在远程服务器上配置,应将
0.0.1
替换为服务器的公网 IP。
- Windows 系统路径:
C:\Windows\System32\drivers\etc\hosts
- Linux/macOS 系统路径:
/etc/hosts
验证配置
打开浏览器,分别访问:
http://example.com
http://test.com
如果能看到各自网站的测试页面,说明虚拟主机配置已经成功。
通过配置虚拟主机,我们可以在一台服务器上高效地管理多个网站,显著提升服务器资源的利用率,Apache 提供了灵活且强大的虚拟主机配置方式,适用于个人开发者、中小企业乃至大型机构,掌握这项技能,将为你的 Web 服务器运维打下坚实的基础。
如需进一步优化,还可以结合 HTTPS 配置、SSL 证书、反向代理等高级功能来增强网站的安全性和性能,希望本文对你理解和实践 Apache 虚拟主机配置有所帮助!