在服务器管理中,使用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、域名绑定及日志路径,同时注意权限和安全性问题,若后续需要扩展更多网站,只需重复上述步骤创建新的配置文件即可,合理的规划和配置不仅能提升服务器资源利用率,还能为每个网站提供稳定、独立的服务环境。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/24904.html




