Skip to content
VDS · 入门指南

快速开始:15 分钟搭建网站

从一台干净的机器到可用的带 HTTPS 证书的 nginx 网站:安装、站点目录、域名、防火墙和验证。

更新于 2026年8月23日

场景:全新安装的 Debian 或 Ubuntu、您自己的域名,目标是通过 HTTPS 访问您的页面。所有命令均以 root 身份通过 SSH 执行。

1. 安装 nginx

apt update && apt install -y nginx
systemctl enable --now nginx

在浏览器中打开 http://your-address——您应该会看到一个欢迎页面。如果没有出现,请检查防火墙(第 3 步)。

在 AlmaLinux 上,请使用 dnf 代替 apt;参见 AlmaLinux。

2. 解析域名

在您的域名注册商面板中,添加一条 A 记录,指向“概览”标签页中的机器地址:

example.com.      A     203.0.113.10
www.example.com.  A     203.0.113.10

检查域名是否解析到正确的地址:

apt install -y dnsutils
dig +short example.com

记录更新需要一分钟到几个小时不等。当 dig 返回旧地址时,您将无法签发证书。

3. 开放端口

apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

先执行 allow OpenSSH,再执行 enable。顺序颠倒会切断您的访问,届时只能通过文本控制台登录。

4. 创建站点

mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com

/etc/nginx/sites-available/example.com 中的配置:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

启用并应用:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

nginx -t 是必须执行的:它会在重启前检查配置。如果输出末尾没有 syntax is ok 和 test is successful,请不要重启服务——先修复错误。

5. 签发证书

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot 会要求您输入邮箱,添加 listen 443 ssl 块,并设置 HTTP 重定向。续期会自动配置;您可以这样检查:

certbot renew --dry-run

最常见的问题

现象原因
浏览器无法打开站点ufw 中 80 或 443 端口未开放
Certbot:Timeout during connect域名尚未指向该机器,或 80 端口未开放
502 Bad Gatewaynginx 正在代理一个未运行的应用程序——请用 systemctl status 检查您的服务
403 Forbidden目录没有权限,或缺少 index.html
显示 nginx 默认页面而非您的页面/etc/nginx/sites-enabled/default 尚未删除

以上任何问题的日志:

tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager

接下来,如果您还没有完成,建议使用第一小时检查清单做好基本安全防护。