温馨提示×

centos上apache怎样绑定域名

小樊
41
2026-10-14 18:13:21
栏目: 云计算

在 CentOS 上让 Apache 绑定(解析)域名,通常分成 域名解析配置 和 Apache 虚拟主机配置 两部分。下面按常见场景说明(以 CentOS 7/8 + Apache/httpd 为例)。


一、前提条件

  1. 已安装 Apache
 yum install httpd -y
 systemctl start httpd
 systemctl enable httpd
  1. 域名已购买,并且DNS 已解析到服务器公网 IP
    • A 记录:example.com → 服务器IP
    • 可选:www.example.com → 服务器IP

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

方式一:单域名(推荐新手)

编辑 Apache 主配置或新建配置文件:

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

内容示例:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.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>

创建网站目录:

mkdir -p /var/www/example
echo "Hello example.com" > /var/www/example/index.html

方式二:多域名

为每个域名建一个 conf 文件即可:

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

三、检查并重启 Apache

httpd -t        # 检查配置是否正确
systemctl restart httpd

四、防火墙与 SELinux(很重要)

1. 防火墙

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

2. SELinux(常见坑)

setsebool -P httpd_can_network_connect 1
chcon -R -t httpd_sys_content_t /var/www/example

五、HTTPS(可选但推荐)

使用 Let’s Encrypt:

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

六、常见问题

✅ 域名访问不了?

  • 查 DNS 是否生效:ping example.com
  • 查 80 端口是否通:telnet IP 80
  • 查 Apache 是否运行:systemctl status httpd

✅ 多个域名指向同一 IP?

  • 用 ServerName 区分即可

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

  • CentOS 版本(6/7/8/Stream)
  • Apache 是否已装
  • 是单机还是面板(如宝塔)

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

0 踩