在Linux系统中开发HTML项目时,我们常常需要一个轻量的本地服务器来预览页面效果,Python内置的http.server模块可以快速搭建简单的HTTP服务器,无需安装额外的Web服务软件,非常适合临时调试场景。

环境准备
首先需要确认Linux系统中已经安装了Python,Python3版本默认自带http.server模块,无需额外安装依赖。可以通过以下命令检查Python版本:
# 检查Python3版本 python3 --version
如果输出类似Python 3.8.10的版本信息,说明环境已经满足要求。如果系统没有安装Python3,可以使用对应Linux发行版的包管理工具安装,比如Ubuntu系统可以执行sudo apt install python3命令。
启动Python简单HTTP服务器
基础启动方式
首先进入你的HTML项目根目录,比如项目放在/home/user/html_project路径下,先切换到该目录:
# 切换到HTML项目根目录 cd /home/user/html_project
然后执行以下命令启动HTTP服务器:
# 启动Python简单HTTP服务器,默认端口8000 python3 -m http.server
执行命令后,终端会输出Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...的提示,说明服务器已经成功启动。
指定端口启动
如果8000端口被占用,或者需要自定义端口,可以在命令后面加上端口号,比如使用8080端口:
# 指定8080端口启动服务器 python3 -m http.server 8080
绑定指定IP地址
默认情况下服务器绑定0.0.0.0,即所有网络接口都可以访问,如果需要只让本地访问,可以绑定127.0.0.1:
# 绑定本地回环地址,仅本机可访问 python3 -m http.server --bind 127.0.0.1
访问HTML项目
服务器启动后,打开浏览器,在地址栏输入对应的访问地址即可查看项目页面:
- 如果使用的是默认配置,访问地址为http://127.0.0.1:8000,或者http://服务器IP:8000
- 如果指定了端口,比如8080,访问地址为http://127.0.0.1:8080
- 如果项目根目录下有index.html文件,服务器会默认返回该文件,否则会显示当前目录的文件列表
比如项目根目录下有test.html文件,访问http://127.0.0.1:8000/test.html就可以直接打开该页面。
停止服务器
如果需要停止运行的HTTP服务器,在启动服务器的终端窗口按下Ctrl+C组合键即可终止进程。
常见问题排查
端口被占用
如果启动时报错Address already in use,说明指定的端口已经被其他进程占用,可以更换端口,或者查询占用端口的进程并关闭:
# 查询8000端口占用的进程 sudo lsof -i:8000 # 关闭对应进程,假设PID是1234 sudo kill -9 1234
无法访问页面
如果出现无法访问的情况,首先检查服务器是否正常启动,然后确认防火墙是否开放了对应端口。如果是远程Linux服务器,还需要确认安全组规则是否允许对应端口的入站访问。
静态资源加载失败
如果HTML页面中的CSS、JS等静态资源加载失败,检查资源的引用路径是否正确,Python的HTTP服务器默认从启动目录作为根目录解析路径,建议使用相对路径引用资源。
简单示例验证
我们可以创建一个简单的HTML文件来验证服务器是否正常工作,在项目根目录创建test.html:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>测试页面</title>
</head>
<body>
<h1>Python HTTP服务器测试</h1>
<p>如果你看到这个页面,说明服务器运行正常</p>
</body>
</html>
启动服务器后访问http://127.0.0.1:8000/test.html,如果能正常显示页面内容,说明整个流程没有问题。