Ubuntu下开始Python Web开发的核心步骤
sudo apt update
sudo apt install python3 python3-pip
# 验证安装
python3 --version # 应输出Python 3.x版本
pip3 --version # 应输出pip版本
venv模块创建隔离环境:sudo apt install python3-venv # 安装venv模块(若未预装)
python3 -m venv myenv # 创建名为myenv的虚拟环境
source myenv/bin/activate # 激活环境(激活后终端提示符会显示环境名)
激活后,后续安装的包仅对当前环境有效。Python Web框架的选择取决于项目需求:
pip3 install Flask
pip3 install Django
pip3 install fastapi uvicorn[standard] # uvicorn是ASGI服务器,用于运行FastAPI应用
三者均为Ubuntu环境下常用的Python Web框架,可根据项目规模和需求选择。Flask示例:创建app.py文件,编写基础代码:
from flask import Flask
app = Flask(__name__)
@app.route('/') # 定义根路径路由
def hello():
return 'Hello, World!' # 返回响应内容
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000) # 开启调试模式,允许外部访问
运行应用:
python3 app.py
访问http://127.0.0.1:5000,即可看到“Hello, World!”页面。
Django示例:通过命令行快速生成项目结构:
django-admin startproject myproject # 创建项目
cd myproject
python3 manage.py startapp myapp # 创建应用(需在settings.py中注册)
python3 manage.py runserver # 启动开发服务器
访问http://127.0.0.1:8000,会看到Django的欢迎页面。
FastAPI示例:创建main.py文件,编写API代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/") # 定义GET请求路由
def read_root():
return {"message": "Hello, World!"} # 返回JSON响应
运行应用:
uvicorn main:app --reload # --reload表示代码修改后自动重启
访问http://127.0.0.1:8000,会看到FastAPI的自动生成文档页面(Swagger UI)。
开发完成后,需将应用部署到生产环境以对外提供服务。常见步骤:
sudo apt install nginx
/etc/nginx/sites-available/default),添加以下内容:server {
listen 80;
server_name your_domain_or_ip; # 替换为域名或IP地址
location / {
proxy_pass http://127.0.0.1:5000; # 将请求转发到Flask应用(端口需与app.py一致)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
测试配置语法并重启Nginx:sudo nginx -t # 测试配置是否正确
sudo systemctl restart nginx # 重启Nginx
pip3 install gunicorn
gunicorn -w 3 -b 127.0.0.1:5000 app:app # -w指定工作进程数,-b指定绑定地址,app:app指向Flask应用实例
结合Nginx和Gunicorn,可提升应用的性能和稳定性。按照以上步骤,即可完成Ubuntu环境下Python Web开发的入门。后续可根据项目需求,学习数据库集成(如SQLAlchemy、Django ORM)、前端模板(如Jinja2)、API开发(如Flask-RESTful、Django REST Framework)等进阶内容。