温馨提示×

centos apache2怎么绑域名

小樊
36
2026-10-17 14:34:31
栏目: 云计算

在 CentOS 上,Apache 通常是 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面按常见情况给你说明如何绑定域名。


一、前提条件

  1. 已安装 Apache(httpd)
yum install httpd -y
systemctl start httpd
systemctl enable httpd
  1. 域名已解析到服务器 IP(A 记录)

二、绑定域名(虚拟主机方式,推荐)

1. 创建站点目录

mkdir -p /var/www/example.com/public_html
chown -R apache:apache /var/www/example.com
chmod -R 755 /var/www/example.com

2. 创建 Apache 虚拟主机配置

vi /etc/httpd/conf.d/example.com.conf

内容示例:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

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

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>

⚠️ 注意:CentOS 中配置文件必须放在 conf.d/*.conf


3. 测试并重启 Apache

httpd -t
systemctl restart httpd

三、绑定多个域名

为每个域名创建一个 conf 文件即可,例如:

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

四、防火墙放行(重要)

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

五、HTTPS(可选,强烈推荐)

yum install mod_ssl -y

或使用 Let’s Encrypt:

yum install certbot python3-certbot-apache -y
certbot --apache -d example.com -d www.example.com

六、常见问题

  • 访问不了?

    • 检查 DNS 是否生效:ping example.com
    • 检查 SELinux:
      setenforce 0
      
      或正确配置 SELinux 上下文
  • 403 错误?

    • 目录权限或 Require all granted 没加

如果你用的是 CentOS 7 / 8 / Stream 或 面板(如宝塔),可以告诉我,我可以给你更针对性的步骤。

0 踩