在Ubuntu上部署Python应用的核心流程如下,结合搜索资源中的关键步骤解析:
安装Python和pip
更新系统并安装Python 3、pip及虚拟环境工具:
sudo apt update
sudo apt install python3 python3-pip python3-venv # 安装虚拟环境模块
创建虚拟环境(推荐)
隔离项目依赖,避免全局冲突:
python3 -m venv myenv # 创建虚拟环境
source myenv/bin/activate # 激活环境
requirements.txt安装依赖:pip install -r requirements.txt # 依赖文件需包含项目所需库
python app.pypython app.py(默认监听127.0.0.1:5000)python manage.py runserverpip install gunicorn
gunicorn -w 4 -b 127.0.0.1:8000 app:app # 绑定到本地8000端口,4个工作进程
sudo apt install nginx/etc/nginx/sites-available/yourapp):server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8000; # 转发请求到Gunicorn
proxy_set_header Host $host;
}
}
sudo ln -s /etc/nginx/sites-available/yourapp /etc/nginx/sites-enabled
sudo nginx -t && sudo systemctl restart nginx # 测试配置并重启
/etc/systemd/system/yourapp.service):[Unit]
Description=Python App Service
After=network.target
[Service]
User=your_username
WorkingDirectory=/path/to/app
Environment="PATH=/path/to/app/venv/bin"
ExecStart=/path/to/app/venv/bin/gunicorn --workers 3 --bind unix:/path/to/app/app.sock wsgi:app
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:sudo systemctl daemon-reload
sudo systemctl start yourapp
sudo systemctl enable yourapp # 开机自启
sudo ufw allow 80)。Dockerfile)。根据项目类型(如Web应用、脚本工具)选择对应方案,生产环境建议优先使用Gunicorn+Nginx组合,兼顾性能与稳定性。