今天把一台 Azure Ubuntu 22.04 虚拟机变成了一个真正能访问的小站。域名是 suliverse.cc,Web 服务由 Nginx 托管。整个过程比想象中顺利,但也踩了几个坑。
为什么选 Azure
手头有 Azure 的额度,韩国区的延迟对国内访问还算友好。B1s 的规格(1 vCPU / 1GB RAM)跑一个静态博客绰绰有余,内存占用常年不超过 300MB。
基本配置
系统装好后第一件事是配 SSH 密钥登录,禁掉密码认证。Azure 创建 VM 时会自动生成密钥对,下载 .pem 文件保管好就行。
# 本地连接
ssh -i SuLi.pem [email protected]
# 服务器初始化
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
sudo systemctl enable nginx
Nginx 配置
静态站点的 Nginx 配置非常简单,核心就是指定 root 和 server_name:
server {
listen 80 default_server;
root /var/www/html;
index index.html;
server_name suliverse.cc www.suliverse.cc;
location / {
try_files $uri $uri/ =404;
}
}
域名与 HTTPS
域名托管在 Cloudflare,加两条 A 记录指向服务器 IP,开启代理(橙色云)。Cloudflare 自带免费 Universal SSL,浏览器到 Cloudflare 这段自动加密,SSL 模式选 Flexible 即可。
踩坑:一开始忘了开「始终使用 HTTPS」,导致直接访问 http:// 时浏览器显示不安全。在 Cloudflare 边缘证书页面打开这个开关就好了。
部署流程
目前是手动 scp 上传,后续打算写个简单的 deploy 脚本或者用 GitHub Actions 做自动部署。博客内容少的时候,手动也够用。
# 一键部署(未来)
rsync -avz --delete ./blog/ azureuser@server:/var/www/html/
整个搭建过程大概花了一个下午。最花时间的不是技术配置,而是想清楚「这个博客到底要放什么内容」。工具永远是最简单的部分,难的是持续写下去。