ubuntu

ubuntu里python如何部署应用

小樊
35
2025-11-06 19:53:32
栏目: 编程语言

1. 准备工作:更新系统与安装基础工具
在部署前,确保Ubuntu系统是最新的,并安装必要的工具(如gitbuild-essential)和包管理工具:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl wget build-essential

这一步能修复系统漏洞并确保后续安装的兼容性。

2. 安装Python环境与虚拟环境工具
Ubuntu系统通常预装Python 3,但需确认版本并安装python3-venv(用于创建虚拟环境):

python3 --version  # 确认Python版本(建议3.6+)
sudo apt install -y python3-pip python3-venv

虚拟环境可隔离项目依赖,避免全局包冲突。

3. 创建并激活虚拟环境
在项目目录中创建虚拟环境并激活,后续所有操作均在虚拟环境中进行:

mkdir my_python_app && cd my_python_app
python3 -m venv venv  # 创建虚拟环境
source venv/bin/activate  # 激活(终端提示符会显示venv)

激活后,pippython命令将指向虚拟环境内的版本。

4. 安装项目依赖
若项目有requirements.txt文件(包含所有依赖包及版本),通过pip安装:

pip install --upgrade pip  # 升级pip
pip install -r requirements.txt  # 安装依赖

若没有requirements.txt,可手动安装所需包(如Flask/Django):

pip install flask gunicorn  # Flask示例
# 或 pip install django gunicorn psycopg2-binary  # Django示例

gunicorn是Python WSGI服务器,用于生产环境运行应用。

5. 运行应用(开发测试)

此时可通过http://服务器IP:5000(Flask)或http://服务器IP:8000(Django)访问应用,但仅适用于开发测试。

6. 配置Gunicorn(生产环境WSGI服务器)
Gunicorn是Python应用的生产级WSGI服务器,需替换开发服务器:

gunicorn -w 4 -b 127.0.0.1:8000 app:app  # Flask示例(app:app指app.py中的app实例)
# 或 gunicorn -w 4 -b 127.0.0.1:8000 myproject.wsgi:application  # Django示例

参数说明:-w 4表示4个工作进程(根据CPU核心数调整),-b 127.0.0.1:8000表示绑定到本地8000端口(仅内部访问)。

7. 配置Nginx反向代理(生产环境必备)
Nginx作为反向代理,处理静态文件、负载均衡和SSL终止,提升性能与安全性:

此时可通过http://your_domain_or_ip访问应用,Nginx会将请求转发到Gunicorn。

8. 设置系统服务(开机自启)
通过systemd创建服务,确保应用在服务器重启后自动启动:

若状态显示active (running),则表示服务已成功启动。

9. 安全加固(可选但重要)

以上步骤覆盖了Ubuntu上Python应用部署的核心流程,适用于Flask、Django等主流框架。根据项目需求,可调整Gunicorn的工作进程数、Nginx的静态文件配置或添加数据库(如PostgreSQL)等组件。

0
看了该问题的人还看了