在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組合,兼顧性能與穩定性。