温馨提示×

Apache怎么绑定域名

小樊
35
2026-08-27 14:13:00
栏目: 云计算

在 Apache 上绑定域名,通常是指让某个域名(如 www.example.com)指向服务器上的某个网站目录。下面按最常见场景一步步说明(以 Linux 为例,Windows 类似)。


一、前提条件

  1. 域名已解析到服务器 IP

    • 在域名服务商处,添加 A 记录:
      example.com   →  服务器公网IP
      www.example.com → 服务器公网IP
      
    • 可用 ping example.com 测试是否解析成功
  2. Apache 已安装

    apachectl -v
    

二、最常用方式:基于域名的虚拟主机(推荐 ✅)

1️⃣ 创建网站目录

mkdir -p /var/www/example.com

放一个测试页面:

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

2️⃣ 创建 Apache 虚拟主机配置文件

Ubuntu / Debian

vim /etc/apache2/sites-available/example.com.conf

CentOS / RHEL

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

3️⃣ 写入配置内容

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

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

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

4️⃣ 启用配置并重启 Apache

Ubuntu / Debian

a2ensite example.com.conf
systemctl restart apache2

CentOS / RHEL

systemctl restart httpd

5️⃣ 测试

浏览器访问:

http://example.com

三、本地测试(无真实域名)

如果你只是本地测试:

修改 hosts 文件

# Windows
C:\Windows\System32\drivers\etc\hosts

# Linux / macOS
/etc/hosts

添加:

127.0.0.1 example.com

四、绑定多个域名(一个服务器多个网站)

只需创建多个 <VirtualHost> 配置即可:

<VirtualHost *:80>
    ServerName site1.com
    DocumentRoot /var/www/site1
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.com
    DocumentRoot /var/www/site2
</VirtualHost>

五、常见问题

❌ 访问显示默认页

  • 虚拟主机未启用
  • 配置未重启
  • 域名解析未生效

❌ 403 Forbidden

<Directory>
    Require all granted
</Directory>

❌ 端口被占用

ss -lntp | grep 80

六、进阶(可选)

  • ✅ HTTPS(Let’s Encrypt)
  • ✅ 301 重定向(www 跳转)
  • ✅ .htaccess 伪静态
  • ✅ 多端口绑定(:8080)

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

  • ✅ 系统(Ubuntu / CentOS / Windows)
  • ✅ 是否用 HTTPS
  • ✅ 是否宝塔 / 面板环境

我可以给你完全对应的配置示例

0