在开始前,确保Debian系统是最新的,并安装Python及pip(Python包管理工具):
sudo apt update && sudo apt upgrade -y # 更新系统包
sudo apt install python3 python3-pip -y # 安装Python3和pip
验证安装是否成功:
python3 --version # 查看Python版本(建议3.6+)
pip3 --version # 查看pip版本
虚拟环境可隔离项目依赖,避免不同项目间的冲突:
python3 -m venv myenv # 创建名为myenv的虚拟环境
source myenv/bin/activate # 激活虚拟环境(激活后终端提示符会显示环境名)
提示:后续所有操作需在激活的虚拟环境中进行,退出虚拟环境可使用
deactivate命令。
根据项目需求选择合适的框架(以下以Flask为例,适合小型/中型应用;若需大型应用可选择Django,高性能API可选FastAPI):
pip install Flask # 安装Flask框架
若需使用其他框架,替换命令即可(如pip install Django、pip install fastapi uvicorn)。
创建项目目录并编写代码:
mkdir myproject && cd myproject # 创建项目目录并进入
touch app.py # 创建Python文件
编辑app.py,写入以下Flask基础代码:
from flask import Flask
app = Flask(__name__)
@app.route('/') # 定义根路由
def home():
return "Hello, Python Web on Debian!" # 返回响应内容
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000) # 启动开发服务器
在终端执行以下命令启动应用:
python app.py
若看到Running on http://0.0.0.0:5000/,说明服务已启动。打开浏览器访问http://localhost:5000,即可看到“Hello, Python Web on Debian!”的页面。
开发完成后,需将应用部署到生产环境以提高性能和安全性。以下是常见步骤:
Gunicorn用于替代Flask自带的开发服务器,提升并发处理能力:
pip install gunicorn
使用Gunicorn启动应用(4个工作进程,监听8000端口):
gunicorn -w 4 -b 0.0.0.0:8000 app:app # app:app表示app.py文件中的app对象
Nginx负责接收外部请求并转发给Gunicorn,同时处理静态文件:
sudo apt install nginx -y # 安装Nginx
创建Nginx配置文件(以myproject为例):
sudo nano /etc/nginx/sites-available/myproject
写入以下内容(替换your_domain_or_ip为实际域名或IP):
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8000; # 转发到Gunicorn
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 ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled # 创建符号链接
sudo nginx -t # 测试配置语法
sudo systemctl restart nginx # 重启Nginx
允许HTTP(80)和HTTPS(443)流量:
sudo ufw allow 'Nginx Full' # 开放HTTP/HTTPS端口
sudo ufw enable # 启用防火墙(若未启用)
使用Let’s Encrypt获取免费SSL证书,提升网站安全性:
sudo apt install certbot python3-certbot-nginx -y # 安装Certbot
sudo certbot --nginx -d your_domain_or_ip # 自动配置Nginx HTTPS
按照提示完成证书申请,完成后浏览器访问https://your_domain_or_ip即可看到安全连接。
通过以上步骤,你已成功在Debian上搭建了Python Web开发环境,并完成了从开发到生产部署的全流程。可根据项目需求选择框架(如Django适合快速构建复杂应用,FastAPI适合高性能API),并根据实际情况调整配置。