CentOS apache 域名配置
在 CentOS 系统上配置 Apache 服务器以支持多域名是一项常见任务,尤其在需要运行多个网站或应用的情况下,本文将详细介绍如何在 CentOS 7 上安装和配置 Apache 服务器,并实现多域名绑定。

安装 Apache
需要确保系统中安装了 Apache,如果尚未安装,可以使用以下命令进行安装:
- sudo yum update httpd y
- sudo yum install httpd y
安装完成后,启动 Apache 服务并设置其开机自启:
- sudo systemctl start httpd
- sudo systemctl enable httpd
配置 Apache 虚拟主机
为了实现多域名绑定,需要在 Apache 配置文件中添加虚拟主机(VirtualHost)条目,创建一个新的配置文件目录(如果尚未存在):
- sudo mkdir p /etc/httpd/conf.d/vhosts
在该目录下为每个域名创建一个配置文件,为域名example.com
创建配置文件/etc/httpd/conf.d/vhosts/example.com.conf
如下:
- <VirtualHost *:80>
- ServerName example.com
- DocumentRoot "/var/www/html/example"
- ErrorLog "/var/log/httpd/example.comerror_log"
- CustomLog "/var/log/httpd/example.comaccess_log" common
- </VirtualHost>
重复上述步骤,为其他域名创建相应的配置文件,注意,每个<VirtualHost>
块定义了一个虚拟主机,其中ServerName
指定了域名,DocumentRoot
指定了该域名对应的网站根目录。
配置防火墙
确保防火墙允许 HTTP(端口 80)和 HTTPS(端口 443)流量:

- sudo firewallcmd permanent addservice=http
- sudo firewallcmd permanent addservice=https
- sudo firewallcmd reload
重启 Apache 服务
每次修改配置文件后,都需要重启 Apache 服务以使更改生效:
- sudo systemctl restart httpd
测试配置
使用浏览器或curl
命令测试各个域名是否按预期工作。
- curl http://example.com
如果配置正确,应该能看到对应域名的网站内容。
常见问题及解决方案
1、域名解析问题:确保本地 hosts 文件或 DNS 服务器正确解析了域名。
2、权限问题:检查网站根目录的权限,确保 Apache 进程有权限读取这些目录。
3、配置文件语法错误:使用apachectl configtest
命令检查配置文件的语法是否正确。

4、端口被占用:Apache 无法绑定到端口 80,可能是由于该端口已被其他进程占用,使用netstat
或lsof
命令查找并终止占用该端口的进程。
5、SSL 证书问题:如果启用了 HTTPS,确保 SSL 证书有效且配置正确。
通过以上步骤,可以在 CentOS 7 上成功安装和配置 Apache 服务器,并实现多域名绑定,这为企业或个人提供了灵活的网站托管解决方案,实际环境中可能还需要考虑安全性、性能优化等因素,建议根据具体需求进一步配置和优化 Apache 服务器。