上线一个网站,技术上只有四件事:有个域名、域名指向你的服务器、服务器上跑着应用、全站 HTTPS。听起来简单,新手最容易在 DNS 生效时间和 SSL 续期这两个地方翻车。这篇按顺序走完,每一步都有检查点。

网站上线流程:用户 → 域名解析 → 云服务器 → SSL 证书

1. 注册域名

  • 选注册商:Cloudflare Registrar、阿里云、Namecheap 都行。注意看续费价,有些注册商首年便宜、续费翻倍。
  • 选后缀:.com 最通用;个人项目 .xyz、.cc 便宜量大。避免生僻后缀,部分场景会被拦截。
  • 隐私保护:打开 WHOIS 隐私保护,不然你的姓名电话邮箱会被公开查到。
  • 实名:国内注册商要求实名认证,认证完才能解析。

检查点:whois 能查到域名状态为 active,注册商后台能看到域名。

2. DNS 解析到服务器

在域名 DNS 管理页(注册商后台或 Cloudflare)加一条 A 记录:

  • 主机记录:@(根域名)或 www
  • 记录值:你的服务器公网 IP
  • TTL:先设 600(10 分钟),方便改错;稳定后可调大

然后验证是否生效:

dig +short yourdomain.com

返回你的服务器 IP 就是通了。注意 DNS 全球生效需要时间,刚改完各地结果不一致是正常的,等 10–30 分钟再查。

检查点:dig 返回正确 IP;浏览器访问 http://你的域名 能到达服务器(先不用管证书)。

3. 在服务器上部署应用

服务器还没买?先看这篇:Vultr 新手上机指南,跟着开一台、配好 SSH 和防火墙再回来。

应用本身怎么部署看你的技术栈(本站有 Go 应用上机部署 教程)。通用要求只有两个:

  1. 应用在服务器本地端口监听(比如 127.0.0.1:8080)。
  2. 用 Nginx 反向代理把 80 端口的请求转给它,配置文件里 server_name 写你的域名。

检查点:curl -H "Host: 你的域名" http://127.0.0.1 在服务器上有正常返回。

4. 申请 SSL 证书

SSL 证书让浏览器地址栏显示安全锁

推荐 Let’s Encrypt,免费、自动化程度最高:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d 你的域名 -d www.你的域名

certbot 会自动改 Nginx 配置、自动续期。用 sudo certbot renew --dry-run 测一次续期流程,确认没报错。

如果你用了 Cloudflare CDN,也可以直接用 Cloudflare 的源站证书或 Full 模式,具体看这篇:Cloudflare DNS 与回源配置。

检查点:浏览器访问 https://你的域名 显示小锁;SSL Labs 测一下评级,至少 A。

5. 上线前最终检查

  • http 自动跳转 https(Nginx 里配 301)。
  • 证书自动续期已验证(dry-run 通过)。
  • 防火墙只开了 22/80/443。
  • 做过第一份快照,知道怎么恢复。
  • 域名续费设了自动续费或日历提醒——过期被抢注比服务器宕机更惨。

走完这五步,你的网站就算正式上线了。之后按安全加固清单把服务器再收紧一遍,就可以安心跑业务了。