在Ubuntu上部署Python应用的流程大致可以分为以下几个步骤:
sudo apt update
sudo apt upgrade -y
python3 --version
sudo apt install python3.x
sudo apt install python3-pip
为了避免全局安装Python包和依赖,建议使用虚拟环境:
python3 -m venv myenv
source myenv/bin/activate
在项目目录中,使用requirements.txt
文件安装所有依赖:
pip install -r requirements.txt
python app.py
使用Nginx作为反向代理服务器,将外部请求转发到Python应用:
sudo apt install nginx
/etc/nginx/sites-available/default
,添加以下内容:server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://127.0.0.1:5000;
}
}
sudo systemctl restart nginx
为了确保应用在系统重启后自动启动,可以创建一个systemd服务文件:
sudo nano /etc/systemd/system/python-app.service
添加以下内容:
[Unit]
Description=Python Application
After=network.target
[Service]
User=your_user
Group=your_group
WorkingDirectory=/path/to/your/app
ExecStart=/path/to/your/app/myenv/bin/python /path/to/your/app/app.py
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start python-app.service
sudo systemctl enable python-app.service
如果服务器启用了防火墙(如UFW),确保允许HTTP(80端口)和应用使用的端口通过防火墙:
sudo ufw allow 80
sudo ufw allow 5000
在浏览器中访问你的服务器IP和应用端口,确认应用是否正常运行。
以上步骤提供了一个基本的Python应用部署流程,具体应用时可能需要根据实际项目需求进行调整。