最开始的想法是使用google cloud,想在虚拟机中建个文件夹然后huo.loc.cc绑定到这个文件夹,想用这个文件夹做一个简易的个人站点,这样也可以正常解析这个二级域名。
也是从这个需求上求助Gmini,也就有这个站点,有了这篇文章,下面就正式开始记录下当时建站的过程。
要把域名 huo.loc.cc 绑定到特定文件夹,就需要在虚拟机上安装一个 Web 服务器软件(如 Nginx 或 Apache)。我选择的是Nginx,主要是有点熟悉,之前自己折腾时也是以Nginx为主,选择好了Nginx就可以根据访问的域名把请求导向对应的文件夹了。
第一步:准备文件夹和网页内容
首先,你需要通过 SSH 连接到你的虚拟机,创建存放站点的目录并放一个简单的首页。
- 创建文件夹:
sudo mkdir -p /var/www/my_site
- 设置权限(确保 Web 服务器能读取):
sudo chown -R $USER:$USER /var/www/my_site
- 新建一个简单的 HTML 文件:
echo "<h1>欢迎来到我的个人站点</h1>" > /var/www/my_site/index.html
第二步:安装并配置 Web 服务器 (以 Nginx 为例)
Nginx 是目前最流行、配置最简单的 Web 服务器。
- 安装 Nginx:
sudo apt update && sudo apt install nginx -y
- 配置虚拟主机: 创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/huo.loc.cc
粘贴以下配置(注意修改
server_name和root):Nginx
server { listen 80; server_name huo.loc.cc; root /var/www/my_site; index index.html; location / { try_files $uri $uri/ =404; } }启用配置并重启:
sudo ln -s /etc/nginx/sites-available/huo.loc.cc /etc/nginx/sites-enabled/
sudo systemctl restart nginx
第三步:在 Google Cloud 控制台开放防火墙
默认情况下,GCP 会拦截外部对虚拟机的访问,你需要手动开启 80 端口。
进入 Google Cloud Console -> Compute Engine -> 虚拟机实例。
点击你的实例名称,点击“修改”。
找到“防火墙”部分,勾选 “允许 HTTP 流量”(如果以后要用 HTTPS,也勾选 HTTPS)。
保存。
第四步:解析域名
你需要去你的域名注册商(提供 loc.cc 服务的平台)后台,添加一条解析记录:
记录类型:
A主机记录(Host):
@记录值(Value):你的 Google Cloud 虚拟机外部 IP 地址。
第五步:申请SSL证书
在 Nginx 配置好之后,使用 Certbot 申请免费的 Let’s Encrypt 证书是最快也最安全的选择。以下是在 Debian/Ubuntu 系统(Google Cloud 默认常用的系统)上的一键式操作步骤:
1. 安装 Certbot 及其 Nginx 插件
首先需要安装 Certbot 工具,它会自动识别你的 Nginx 配置。
Bash
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
2. 获取并自动配置证书
运行下面的命令,Certbot 会自动修改你的 Nginx 配置文件,添加 SSL 相关的参数,并自动设置 HTTP 到 HTTPS 的跳转。
Bash
sudo certbot --nginx -d huo.loc.cc
执行过程中会遇到几个互动提问:
Email Address: 输入你的邮箱(用于接收证书过期提醒)。
Terms of Service: 输入
A表示同意。Marketing Email: 输入
N(拒绝订阅广告)。Redirect: 如果它询问是否将 HTTP 自动重定向到 HTTPS,建议选择
2(Redirect)。
3. 验证自动续期
Let’s Encrypt 的证书有效期只有 90 天,但 Certbot 默认会创建一个定期任务(cron job)来自动续期。你可以运行以下命令测试续期流程是否正常:
Bash
sudo certbot renew --dry-run
注意: 只有当你的域名
huo.loc.cc已经正确解析到该虚拟机的 IP,且 80 端口(HTTP)在 Google Cloud 防火墙中是打开的状态时,上述命令才能执行成功。
证书安装后的变化
完成上述步骤后,Certbot 会修改你之前的 Nginx 配置文件。你可以查看一下:
sudo cat /etc/nginx/sites-available/huo.loc.cc