Apache如何搭建多个网站?虚拟主机配置教程
- 主机动态
- 2025-10-24
- 3601
在服务器管理中,使用Apache搭建多个网站是一项常见需求,尤其对于需要托管多个独立域名或子域名的场景,通过Apache的虚拟主机功能,可以在同一台服务器上运行多个网站,每个拥有独立的配置、根目录和资源,既节省成本又便于管理,以下是详细的搭建步骤和注意事项。
准备工作
在开始配置前,需确保以下条件已满足:
- 环境安装:已安装Apache服务器(Linux系统下常用apt install apache2或yum install httpd)。
- 域名解析:将多个域名解析至服务器的公网IP(如example.com和test.com)。
- 目录规划:为每个网站创建独立的根目录,例如/var/www/example和/var/www/test,并设置正确的文件权限(chmod -R 755 /var/www/*)。
配置虚拟主机
Apache支持基于域名和IP的虚拟主机,这里以最常见的基于域名的虚拟主机为例,步骤如下:

创建虚拟主机配置文件
在Apache的配置目录(如/etc/apache2/sites-available/)下为每个网站创建配置文件,例如example.com.conf和test.com.conf,以example.com.conf如下:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example ErrorLog ${APACHE_LOG_DIR}/example_error.log CustomLog ${APACHE_LOG_DIR}/example_access.log combined </VirtualHost>
- ServerName:主域名;ServerAlias:附加域名(如带www的子域名)。
- DocumentRoot:网站根目录,存放网站文件(如index.html、图片等)。
- ErrorLog和CustomLog:分别定义错误日志和访问日志的存储路径,便于排查问题。
启用虚拟主机
创建配置文件后,使用a2ensite命令启用站点(以Ubuntu为例):
sudo a2ensite example.com.conf sudo a2ensite test.com.conf
若使用CentOS,需将配置文件复制到/etc/httpd/conf.d/目录,并确保文件名以.conf

重启Apache服务
启用站点后,重启Apache使配置生效:

sudo systemctl restart apache2
配置示例与参数说明
以下是两个虚拟主机的配置对比,便于理解差异:
| 参数 | example.com | test.com |
|---|---|---|
| ServerName | example.com | test.com |
| ServerAlias | www.example.com | www.test.com |
| DocumentRoot | /var/www/example | /var/www/test |
| ErrorLog | /var/log/apache2/example_error.log | /var/log/apache2/test_error.log |
| CustomLog | /var/log/apache2/example_access.log | /var/log/apache2/test_access.log |
通过表格可见,每个虚拟主机的核心配置项独立,互不干扰。
常见问题与优化
- 权限问题:确保DocumentRoot目录的用户和组与Apache运行用户一致(如www-data),可通过chown -R www-data:www-data /var/www/*修复。
- 端口冲突:若多个网站需使用不同端口(如80和8080),需在<VirtualHost>中指定端口,并确保防火墙开放对应端口。
- HTTPS配置:若需启用HTTPS,可结合Let’s Encrypt免费证书,通过mod_ssl模块配置, <VirtualHost *:443> ServerName example.com DocumentRoot /var/www/example SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem </VirtualHost>
- 性能优化:对于高流量网站,可启用mod_cache缓存静态资源,或通过mod_deflate压缩传输数据,减少带宽占用。
通过Apache的虚拟主机功能,搭建多个网站的过程清晰且高效,关键在于正确配置DocumentRoot、域名绑定及日志路径,同时注意权限和安全性问题,若后续需要扩展更多网站,只需重复上述步骤创建新的配置文件即可,合理的规划和配置不仅能提升服务器资源利用率,还能为每个网站提供稳定、独立的服务环境。