#运维 | 前端 # Linux http.server 实践:隐藏长文件名,简短路径 (http://IP:port/别名 ) 访问
如何运行页面为 http://ip:port/名称
1. 准备文件目录
假设文件原始位置:
/home/ubuntu/projects/yinran/ckd.html
将它移动到子目录并改名为 index.html:
mkdir -p /home/ubuntu/projects/yinran/ckd
mv /home/ubuntu/projects/yinran/ckd.html \/home/ubuntu/projects/yinran/ckd/index.html
这样目录结构变为:
/home/ubuntu/projects/yinran/└── ckd/└── index.html
2. 启动 http.server
进入上级目录 yinran
并启动服务:
cd /home/ubuntu/projects/yinran
nohup python3 -m http.server 8080 > server.log 2>&1 &
检查端口监听:
sudo lsof -i:8080
# 或
ss -tulnp | grep 8080
3. 外网访问
在浏览器访问:
http://服务器IP:8080/ckd
会自动映射到该目录下的 index.html
页面。
为什么会自动定位到 index.html
-
Web 服务器默认首页规则:当访问的是一个目录而不是具体文件时,服务器会自动查找该目录下的默认首页文件。
-
Python http.server 的规则:源码中写明会查找
["index.html", "index.htm"]
-
找到即返回,找不到则显示目录列表或报错。
示例流程:
访问 URL: http://IP:8080/ckd
↓
服务器解析为目录 /home/ubuntu/projects/yinran/ckd/
↓
自动寻找 index.html
↓
返回给浏览器 → 页面正常显示