开始前你需要准备
先别急着点“创建”。使用Google GCP搭建第一个页面,先把账号、电脑、目标和名字定好,后面会少走很多弯路。
- 谷歌账号要现在能登录,再准备可用付款方式,并在“结算”里确认结算账号已开通、状态正常。免费额度也常要绑卡验证;卡被拒、地区不一致、临时邮箱或借来的账号,都会让找回和扣费提醒变麻烦。
- 一台能联网的电脑加浏览器就够。新手先用网页控制台,暂不安装 gcloud:按钮、地区、费用提示都看得见;先装命令行工具,容易被权限、环境变量、项目切换绕晕。
- 目标先定成最简单的个人网站或测试页,能显示 Hello 就算成功,暂时别急着绑定域名。域名解析、证书、DNS 生效会混进排错,打不开时分不清是 VM、防火墙还是域名。
- 项目、VM、磁盘、防火墙等统一命名,如 gcpok-demo-web。资源分散在多个页面,创建后改名不方便;都叫 test,之后分不清用途,易误删或漏删产生费用。
本节不用装 gcloud,也不需要创建资源。想做开工确认,可复制执行;它只输出文字:
echo 已准备:账号、付款、结算、电脑、目标、命名
结算账号没开通时,先别创建 VM,把付款验证处理完再继续。
整体思路
使用Google GCP搭建网站,先在 GCP 建项目、绑定结算账号,再把所有资源放在同一项目。项目像文件夹,方便看账、一次删干净;坑:不绑结算开不了 VM,资源散开难找。
- 开 e2-micro 小型 VM 当服务器,选 Ubuntu/Debian,省钱够用。
- 防火墙只放行必要端口:22(SSH)、80(网页);全开会被扫。
- 点控制台 SSH 登录 VM,整段复制命令装 nginx、放测试页:
sudo apt update sudo apt install -y nginx echo OK | sudo tee /var/www/html/index.html sudo systemctl enable --now nginx - 访问 http://外部IP,见 OK 即公网通;不通查 80、nginx,别先怪域名。
跑通后再逐步考虑域名、证书、备份、预算提醒。先做最小闭环,排错少;提醒早设,练完停机或删项目,免得忘了还计费。
详细步骤(一):创建项目与 VM
-
使用 Google GCP 搭建服务,先备好项目和 VM。打开 GCP 控制台,在项目列表点新建项目,填清楚名称,如“mysite-gcp”,并绑定结算账号。把项目名称立刻记到笔记,后面找资源、看账单都靠它。坑点:不绑结算账号,VM 常会建不起来;名字乱取,项目多了分不清。
-
进入 Compute Engine 的 VM 实例,点创建实例。区域选离访客近的,例如亚洲访客优先台湾、东京或新加坡,延迟更低,以后少折腾。机器选小型规格,如 e2-micro,够演示又省钱;系统选 Ubuntu 或 Debian 这类常见 Linux,教程多、报错好搜。
-
实例名称写清楚,例如“web-vm-01”,别用默认随机长名。创建后回列表,复制外部 IP 保存到笔记,后续验证和排错会用到。若外部地址为空,多半是创建时没分配公网 IP,先别急着改防火墙。
-
最后先确认状态是 RUNNING、外部地址已出现;装了 gcloud 并登录后,可复制命令复核:
gcloud compute instances list本节别急着安装软件,也不要开放端口。地基先确认好,排错更省事;很多“连不上”其实是项目选错、区域选错,或 VM 没启动完。
详细步骤(二):配置网络与 SSH
别一下开全部端口。GCP 防火墙像门禁,规则建好还要看作用到哪台 VM。测试网页先放行 80;域名、证书和正式站点好了,再补 443 加密访问端口。先选对项目。
gcloud compute firewall-rules create allow-http-test
--network=default --action=ALLOW --rules=tcp:80
--source-ranges=0.0.0.0/0 --target-tags=http-server
read -p "VM 名称:" VM
read -p "可用区(如 asia-east1-b):" ZONE
gcloud compute instances add-tags "$VM" --zone="$ZONE" --tags=http-server
gcloud compute firewall-rules describe allow-http-test --format='value(targetTags[])'
gcloud compute instances describe "$VM" --zone="$ZONE" --format='value(tags.items[])'
命令按默认网络创建只开 tcp:80 的规则,并给规则设 http-server 目标标签;0.0.0.0/0 是方便外网看测试页,只自己测就填公网 IP/32。可用区在列表可见。坑是规则有标签、VM 没标签,最后两行打印两边标签,一致才生效。
SSH 要允许,但优先点 VM 列表的「SSH」按钮,用控制台自带连接,少改本机配置。手动建 22 规则时,来源范围只填需要的:当前公网 IP/32、办公网网段或控制台提示网段;别把 22 写成 0.0.0.0/0,那会把管理端口开放给全网。
- 不通先查标签、来源范围、实例状态,别先怀疑密码。
- 上线前补 443,删临时规则。
详细步骤(三):部署网页服务并上传页面
使用Google GCP搭建网页时,先回到控制台:「Compute Engine」→「VM 实例」,找到刚建好的机器,点同一行的「SSH」按钮进入 VM。首次会弹出黑色终端,可能让你授权、生成密钥或按回车,按页面提示完成首次登录并等十几秒。SSH 相当于远程坐到 VM 前,后面的命令都要粘在这个窗口,不是自己电脑。
-
先装 nginx 并确认启动,再放页面,排错更省力。看到 active 就对了;用
is-active只问一句“活着吗”,比翻长状态页更适合新手。sudo apt update && sudo apt install -y nginx sudo systemctl enable --now nginx sudo systemctl is-active nginx -
再把测试页放进默认首页目录。一句中文欢迎语,能确认浏览器访问到的是自己的 VM,而不是缓存或示例站。
echo '欢迎来到我在 Google GCP 上的第一台 VM!' | sudo tee /var/www/html/index.html > /dev/null cat /var/www/html/index.html
复制实例列表里的「外部 IP」,在地址栏前面加 http:// 访问。常见坑:没勾选「允许 HTTP 流量」或防火墙没放行 80 端口,会一直打不开;权限报错多半忘了 sudo;出现 apt: command not found 说明不是 Debian/Ubuntu 镜像,建议重建后再做。
若用 gcloud,在项目 Cloud Shell 里先只练习查看实例和连接,不必一上来写自动脚本;下面只是两条临时命令。只有一台实例时可直接复制:
gcloud compute instances list
gcloud compute ssh "$(gcloud compute instances list --format='value(name)' | head -n 1)" --zone="$(gcloud compute instances list --format='value(zone)' | head -n 1 | sed 's|.*/||')"
有多台时先看第一条结果,再用控制台 SSH 按钮进入;等页面能打开,再学自动化更稳。
验证结果
搭好后别急着关页面,按顺序验一遍。打开本地浏览器,地址栏输入前面复制的 VM 外部地址,比如 http://34.80.1.2。能看到测试页或「欢迎来到我的站点」这类中文欢迎语,就说明服务已正常对外。最常见的坑是 IP 没错却一直转圈,多半是忘了放行 80 端口,回头看防火墙有没有 tcp:80 和 0.0.0.0/0。想再确认,把下面示例 IP 换成你自己的后直接复制执行:
curl -I http://34.80.1.2
返回 200 OK 就稳了。
为什么还要回控制台?浏览器能打开只代表「这一刻通」,不代表没暗病。到「Compute Engine → VM 实例」看状态是否绿色运行,再看「VPC 网络 → 防火墙」规则是否启用,最后进「日志浏览器」筛这台实例,没有红色 ERROR 才算干净。新手常跳过日志,等服务挂了才发现早有记录。
接着换个网络再访问:手机关 Wi-Fi 走流量打开同一地址,或让朋友在他家试。这是为了排除本机缓存、DNS 残留,以及公司/校园网拦截 80 端口或境外 IP。很多人以为搭建失败,其实只是办公网限制,白重装一遍。
最后花一分钟记一笔,方便以后排错或回滚:
- 项目名:my-first-gcp
- 区域:asia-east1-b
- 外部地址:34.80.1.2
- 本次改动:装了 Nginx、加了 80 规则、改了首页
外部 IP 默认可能是临时的,重启会变,不记容易找不到。也可以在 Cloud Shell 里两行一起复制,自动存个底:
gcloud config get-value project > gcp-记录.txt
gcloud compute instances list >> gcp-记录.txt
常见坑与解决办法
使用Google GCP搭建卡住别慌,按顺序排查最省事。
- 页面打不开:先看 VM 是不是「运行中」,再核对外部 IP 有没有复制错(别漏了
http://),最后查防火墙有没有放行 80 端口。新手常踩坑:GCP 默认不放行 Web 端口,不加规则就一直转圈。 - SSH 连不上:先查规则和账号 IAM 权限,再点控制台「SSH」按钮(自动临时授权);不行就重启 VM 重试。
- 怕产生费用:创建前先设预算提醒;不用了就停止或删除 VM。注意:停止后磁盘和外部 IP 仍计费,务必核对。
- 误开权限:看到来源
0.0.0.0/0立刻改成自己 IP 收紧范围,别长期开 22 管理端口,容易被扫。 - 找不到资源:多半是顶部项目切错了,按项目逐项核对;删除前确认别漏掉磁盘和外部地址,否则会悄悄扣钱。
在 Cloud Shell 直接复制执行,不用改参数,一次看清机器、IP 和残留盘:
gcloud compute instances list
gcloud compute disks list
这么做是因为控制台容易看漏,命令把状态和没挂上的盘全列出,对照处理最踏实。
常见问题(FAQ)
一定要绑定自己的域名吗?
不一定,先用 VM 外部地址验证;跑通后再绑定域名和配置证书。
新手需要安装 gcloud 吗?
不用,先用 GCP 控制台和网页 SSH 更直观,熟悉后再学 gcloud。
为什么开了防火墙还是访问不了?
多半是规则没绑定到 VM、服务未启动,或端口写错,逐项检查即可。
测试完怎么避免继续扣费?
停止或删除 VM,并检查磁盘、外部地址和相关规则是否仍在计费。
选哪个区域比较好?
选离访客近、价格可接受的区域;练习时以延迟低和容易管理为主。
不想自己折腾 GCP?我们提供云平台代维护、上云迁移与账单代付服务,一对一技术支持。
