域名+VPS搭建网站——从零到上线(含SSL证书) 到今天这一步咱们手里有域名、有 VPS、有 DNS 解析。就差最后一步——在 VPS 上装一个 Web 服务器让你的域名访问到实际内容。今天你要上线一个真正的网站。最终效果浏览器输入https://你的域名看到你自己的网页地址栏带一把锁。全程命令可直接复制在 Ubuntu 22.04 / Debian 12 上验证通过。装 Nginx对了咱搭建之前首先确认好端口先放行端口VPS操作之前说过还有就是平台级的防火墙安全组有些默认是关闭的需要在平台放心看自己VPS厂商策略更改即可如下是阿伟自己VPS放行策略按需操作。Web 服务器软件选 Nginx。为什么不是 ApacheNginx 性能更好特别在低配 VPS 上差距明显配置语法更简洁后面要做反向代理它也是标配。现在大部分教程都用 Nginx出问题搜得到答案。sudoaptupdatesudoaptinstallnginx-y装完自动启动。这时候浏览器直接访问你的 VPS IPhttp://123.45.67.89或者域名应该能看到 Nginx 的默认欢迎页——写着 “Welcome to nginx!”。看到了你已经有一个能访问的网站了虽然内容还是 Nginx 自带的。接下来换成你自己的。放你自己的网页建网站根目录sudomkdir-p/var/www/mywebsitesudochown-R$USER:$USER/var/www/mywebsite写一个测试页面nano/var/www/mywebsite/index.html随便写点东西!DOCTYPEhtmlhtmlheadmetacharsetUTF-8title我的网站/title/headbodyh1Hello World/h1p我的域名 VPS跑起来了。/p/body/html保存退出nanoCtrlO回车CtrlX。告诉 Nginx 你的网站在哪Nginx 需要一个配置文件知道哪个域名对应哪个目录。创建一个sudonano/etc/nginx/sites-available/mywebsite写入把example.com换成你的域名server { listen 80; listen [::]:80; server_name example.com www.example.com; root /var/www/mywebsite; index index.html; location / { try_files $uri $uri/ 404; } }这段配置的意思监听 80 端口当有人访问example.com时去/var/www/mywebsite目录找文件默认打开index.html。启用它sudoln-s/etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/sudorm/etc/nginx/sites-enabled/defaultsudonginx-tsudosystemctl reload nginxnginx -t检查语法reload重新加载配置。浏览器访问http://example.com——应该看到你写的 “Hello World”。上 HTTPS现在地址栏可能有个不安全的提示因为还是 HTTP 没加密。SSL 证书以前要花钱买一年几百到几千。现在有 Let’s Encrypt——免费、自动化、3 个月自动续期。装 Certbotsudoaptinstallcertbot python3-certbot-nginx-y一条命令申请证书sudocertbot--nginx-dexample.com-dwww.example.comCertbot 会自动验证域名所有权、申请证书、修改 Nginx 配置加上 HTTPS、重启 Nginx。过程中问你填邮箱收过期提醒、同意条款、选是否把 HTTP 自动跳转 HTTPS选 2。看到Congratulations!就成了。浏览器访问https://example.com——地址栏应该有一把锁不再有不安全提示。有些域名和VPS提供商会提供免费SSL证书大家可以自行了解如果不想要操作VPS命令行可以自行在后台申请后可以也是可以自动续期的怎么简单怎么来自动续期Let’s Encrypt 证书有效期 90 天到期前要续。好消息是 Certbot 装的时候已经自动配了定时任务你基本不用管。sudosystemctl status certbot.timer看到active (waiting)就说明定时任务在跑。手动测试续期流程sudocertbot renew --dry-run输出Congratulations, all simulated renewals succeeded就说明自动续期没问题到期前 30 天它会自动帮你续。回头看看现在打开浏览器输入https://你的域名看到你自己的网页。从第最开始到现在所有东西在这一刻串起来了你输入域名回车浏览器问 DNS 这个域名的 IP 是多少DNS 返回你 VPS 的 IP。浏览器连到 VPS 的 443 端口SSL 握手建立加密连接。浏览器发请求Nginx 收到后根据 server_name 匹配配置在/var/www/mywebsite/找到 index.html通过加密连接把内容返回给浏览器。浏览器渲染你看到自己的网页。阿伟个人也是简单的搭建了一个博客网站看看你们是否搭建成功买域名、买 VPS、安全加固、DNS 解析、装 Nginx、申请 SSL——六件事一条链路全通了。但这台 VPS 只跑了一个网站有点浪费。后面我们再来说一台 VPS 跑多个网站、多个服务资源不能浪费。