简单HTTP服务器项目教程
1. 项目的目录结构及介绍
simple_http_server/
├── README.md
├── simple_http_server.py
├── config.ini
├── static/
│ ├── index.html
│ └── style.css
└── templates/
└── base.html
- README.md: 项目说明文件,包含项目的基本信息和使用指南。
- simple_http_server.py: 项目的启动文件,负责启动HTTP服务器。
- config.ini: 项目的配置文件,包含服务器的端口、根目录等配置信息。
- static/: 静态文件目录,存放HTML、CSS等静态资源文件。
- templates/: 模板文件目录,存放HTML模板文件。
2. 项目的启动文件介绍
simple_http_server.py
是项目的启动文件,主要负责启动HTTP服务器。以下是该文件的主要内容和功能介绍:
import http.server
import socketserver
import configparser
# 读取配置文件
config = configparser.ConfigParser()
config.read('config.ini')
# 获取端口和根目录
PORT = config.getint('Server', 'port')
ROOT_DIR = config.get('Server', 'root_dir')
# 设置HTTP处理器
Handler = http.server.SimpleHTTPRequestHandler
# 启动服务器
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print(f"Serving at port {PORT}")
httpd.serve_forever()
- 读取配置文件: 使用
configparser
模块读取config.ini
文件中的配置信息。 - 获取端口和根目录: 从配置文件中获取服务器的端口和根目录。
- 设置HTTP处理器: 使用
http.server.SimpleHTTPRequestHandler
作为HTTP请求处理器。 - 启动服务器: 使用
socketserver.TCPServer
启动HTTP服务器,并在指定端口上提供服务。
3. 项目的配置文件介绍
config.ini
是项目的配置文件,包含服务器的端口、根目录等配置信息。以下是该文件的内容和功能介绍:
[Server]
port = 8000
root_dir = ./static
- [Server]: 配置文件的节,表示服务器的配置信息。
- port: 服务器的端口号,默认为8000。
- root_dir: 服务器的根目录,默认为
./static
目录。
通过修改 config.ini
文件中的配置信息,可以灵活地调整服务器的运行参数。