以下是在Ubuntu上部署Python項目的基本步驟:
安裝Python和pip
sudo apt update
sudo apt install python3 python3-pip
創建虛擬環境(可選但推薦)
sudo apt install python3-venv
python3 -m venv myenv
source myenv/bin/activate
安裝項目依賴
pip install -r requirements.txt
部署項目
python your_script.py
# Flask示例
flask run --host=0.0.0.0 --port=5000
# 或
python manage.py runserver 0.0.0.0:8000 # Django
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app # app為Flask/Django入口
配置Nginx反向代理(可選,生產環境推薦)
sudo apt install nginx
sudo nano /etc/nginx/sites-available/myapp
添加以下內容(替換your_domain_or_ip
和端口):
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
啟用配置并重啟Nginx:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
sudo nginx -t && sudo systemctl restart nginx
設置開機自啟(可選)
創建systemd服務文件(如/etc/systemd/system/myapp.service
):
[Unit]
Description=My Python App
After=network.target
[Service]
User=your_user
WorkingDirectory=/path/to/app
ExecStart=/path/to/app/venv/bin/gunicorn -b 0.0.0.0:8000 app:app
Restart=always
[Install]
WantedBy=multi-user.target
啟用并啟動服務:
sudo systemctl enable myapp
sudo systemctl start myapp
驗證部署
訪問http://your_domain_or_ip
,確認應用正常運行。
說明: