温馨提示×

ubuntu apache2如何绑定域名

小樊
46
2026-08-16 20:10:22
栏目: 云计算

在 Ubuntu 上用 Apache2 绑定域名,一般按下面步骤来即可(假设域名已经解析到服务器 IP)。


一、前提条件

  1. 域名已解析

    • 在域名服务商处,把域名(如 example.com)的 A 记录指向服务器公网 IP。
    • 可用命令检查:
      ping example.com
      
  2. Apache2 已安装

    sudo apt update
    sudo apt install apache2
    

二、创建网站目录(可选但推荐)

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

放一个测试页面:

echo "Hello example.com" | sudo tee /var/www/example.com/public_html/index.html

三、创建 Apache 虚拟主机(核心步骤)

新建配置文件:

sudo nano /etc/apache2/sites-available/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 ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

四、启用站点并重启 Apache

sudo a2ensite example.com.conf
sudo systemctl reload apache2

(如果之前有默认站点,可禁用)

sudo a2dissite 000-default.conf
sudo systemctl reload apache2

五、测试是否生效

浏览器访问:

http://example.com

或服务器测试:

curl http://example.com

六、常见问题排查

1️⃣ 403 Forbidden

  • 目录权限不对
  • DocumentRoot 路径错误
  • 没有 index.htmlindex.php

2️⃣ 域名能 ping 通但网站打不开

  • 检查 Apache 是否监听 80 端口:
    sudo ss -tlnp | grep 80
    
  • 云服务器检查 安全组 / 防火墙 是否放行 80、443

3️⃣ 多个域名如何绑定?

  • 每个域名一个 .conf 文件
  • 使用不同 ServerName

七、可选:开启 HTTPS(强烈推荐)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache

如果你愿意,我可以帮你:

  • ✅ 写 完整虚拟主机配置
  • ✅ 配 HTTPS + 强制跳转
  • ✅ 配 多域名 / 子域名
  • ✅ 排查 403 / 404 / 无法访问

只要告诉我你的 Ubuntu 版本 + 域名 + 是否用 HTTPS 即可。

0