Flexus L 实例零成本托管静态页面:python3 + systemd 十分钟上线实践

举报
yd_223504780 发表于 2026/10/21 19:18:19 2026/10/21
【摘要】 Flexus L 实例上宝塔 Nginx 未运行、需要临时托管静态活动页时,用 python3 -m http.server + systemd 十分钟零成本上线,附排查 80 端口不通的完整链路。

背景

手上有一台华为云 Flexus 应用服务器 L 实例(华东-上海一,2C2G,宝塔面板镜像)。最近参加开发者闯关活动,需要把一个静态 2048 小游戏页面托管成可公网访问的地址。实例的 80/443 端口在安全组和 ufw 里都已放通,但检查后发现宝塔自带的 Nginx 并没有在运行,/www/wwwroot 也是空目录——网站服务其实处于停跑状态。

思路

不想为了一个小页面重装整套 Nginx/宝塔站点,最轻的做法是直接用系统自带的 python3 起一个静态文件服务,再用 systemd 托管保证持久化(这正是活动里「持久化部署」的要求:进程挂了能自动拉起、重启后能自启)。

实施步骤

1. 建目录放页面:mkdir -p /www/wwwroot/hc-activity,scp 上传 index.html。

2. 写 systemd 单元 /etc/systemd/system/hc-activity-web.service:

[Service]
ExecStart=/usr/bin/python3 -m http.server 80 --directory /www/wwwroot --bind 0.0.0.0
Restart=always
RestartSec=3

3. systemctl daemon-reload && systemctl enable --now hc-activity-web,本机 curl http://127.0.0.1/hc-activity/index.html 返回 200。

4. 外网验证:curl -I http://<公网IP>/hc-activity/index.html,HTTP 200 上线完成。

验证与踩坑

一开始外网 curl 80 端口是 000,排查链路是:安全组入方向(控制台已放通 80/443)→ ufw(80/tcp ALLOW)→ 端口监听(ss -tlnp 发现 80 根本没人 listen)。问题不在防火墙,在服务没起。教训:安全组放通≠服务在线,排查连通性先看监听再怪防火墙。

小结

python3 -m http.server 不是生产级方案,但配合 systemd 的 Restart=always 对活动页、临时演示、验收 URL 这类场景足够稳,全程零新增组件、零成本。后续如果站点恢复,可以把宝塔 Nginx 配回 80,把这个服务切到子路径或备用端口。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。