以下是在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
,确认应用正常运行。
说明: