温馨提示×

centos里apache如何绑定域名

小樊
37
2026-10-05 21:55:24
栏目: 云计算

在 CentOS 中,Apache 绑定域名主要是通过**配置虚拟主机(VirtualHost)**来实现的。下面给你一个从零开始的完整说明(以 CentOS 7/8 + Apache 为例)。


一、前提条件

  1. 已安装 Apache
yum install httpd -y
# 或
dnf install httpd -y
  1. 已解析域名
  • 在你的域名服务商处,把域名(如 www.example.com)的 A 记录指向服务器公网 IP
  1. 防火墙放行 80/443
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

二、Apache 绑定域名(虚拟主机)

方法一:在 httpd.conf 中直接配置(不推荐)

一般不改主配置文件,而是用 conf.d

方法二:使用 conf.d(推荐)

  1. 创建虚拟主机配置文件
vi /etc/httpd/conf.d/example.conf
  1. 写入以下内容(以 www.example.com 为例)
<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example

    <Directory /var/www/example>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/example-error.log
    CustomLog /var/log/httpd/example-access.log combined
</VirtualHost>
  1. 创建网站目录
mkdir -p /var/www/example
echo "Hello example.com" > /var/www/example/index.html
  1. 重启 Apache
systemctl restart httpd

三、本地测试(可选)

如果你只是测试,可以修改本地 hosts:

服务器IP www.example.com

四、绑定多个域名

每个域名一个配置文件即可:

/etc/httpd/conf.d/a.com.conf
/etc/httpd/conf.d/b.com.conf

五、HTTPS(绑定 SSL 域名)

  1. 安装 mod_ssl
yum install mod_ssl -y
  1. 配置 HTTPS 虚拟主机
<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot /var/www/example

    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/privkey.pem
    SSLCertificateChainFile /path/to/chain.pem
</VirtualHost>

六、常见问题

1. 访问显示默认页?

  • 检查 ServerName 是否写对
  • 检查 DNS 是否已生效
  • 检查是否有其他 VirtualHost 冲突

2. 403 Forbidden?

chown -R apache:apache /var/www/example
chmod -R 755 /var/www/example

如果你愿意,可以告诉我:

  • CentOS 版本
  • Apache 版本
  • 是否用 HTTPS / 宝塔 / Docker

我可以给你更精确的配置示例。

0 踩