首页主机资讯Ubuntu Python项目如何部署与运行

Ubuntu Python项目如何部署与运行

时间2025-10-23 15:04:03发布访客分类主机资讯浏览263
导读:Ubuntu Python项目部署与运行完整流程 1. 系统准备:安装Python与pip Ubuntu 20.04及以上版本默认安装Python 3.8+,但需确认版本并安装pip(Python包管理工具): # 检查Python 3版本...

Ubuntu Python项目部署与运行完整流程

1. 系统准备:安装Python与pip

Ubuntu 20.04及以上版本默认安装Python 3.8+,但需确认版本并安装pip(Python包管理工具):

# 检查Python 3版本
python3 --version
# 检查pip 3版本
pip3 --version
# 若未安装pip,通过apt安装
sudo apt update &
    &
     sudo apt install python3-pip -y

2. 环境隔离:创建并激活虚拟环境

虚拟环境是避免项目依赖冲突的关键,推荐使用Python自带的venv模块:

# 进入项目目录(示例:~/python_projects/my_project)
mkdir -p ~/python_projects/my_project &
    &
     cd ~/python_projects/my_project
# 创建虚拟环境(生成venv文件夹)
python3 -m venv venv
# 激活虚拟环境(终端提示符前显示(venv))
source venv/bin/activate
# 退出虚拟环境(后续步骤完成后执行)
# deactivate

3. 依赖管理:安装项目所需包

3.1 生成/使用requirements.txt

requirements.txt是项目依赖的清单,需在开发环境中生成:

# 在开发环境中生成requirements.txt(包含所有依赖及版本)
pip freeze >
 requirements.txt

部署时,通过以下命令快速安装所有依赖:

pip install -r requirements.txt

3.2 高级依赖管理(可选)

  • Poetry:更现代化的工具,支持依赖解析与打包:
    # 安装Poetry
    curl -sSL https://install.python-poetry.org | python3 -
    # 初始化项目(生成pyproject.toml)
    poetry init
    # 添加依赖(如flask)
    poetry add flask
    # 安装所有依赖(自动创建虚拟环境)
    poetry install
    

4. 运行Python项目

根据项目类型选择运行方式:

4.1 普通Python脚本

直接执行脚本文件:

python your_script.py

4.2 Web应用(Flask/Django)

  • Flask:开发模式下运行(需设置FLASK_APP环境变量):
    export FLASK_APP=app.py  # 替换为你的主文件
    flask run --host=0.0.0.0  # 允许外部访问
    
  • Django:启动开发服务器:
    python manage.py runserver 0.0.0.0:8000
    

5. 生产环境优化:配置Gunicorn与Nginx

开发环境运行后,需用Gunicorn(WSGI服务器)替代Flask/Django内置服务器,提升性能;用Nginx作反向代理,处理静态文件与负载均衡。

5.1 安装Gunicorn

在虚拟环境中安装Gunicorn:

pip install gunicorn

5.2 运行Gunicorn

以4个工作进程启动应用(假设应用入口为app:app,即Flask/Django的主文件与应用实例):

gunicorn -w 4 -b 127.0.0.1:8000 app:app

5.3 配置Nginx

  • 创建Nginx配置文件(示例:/etc/nginx/sites-available/myproject):
    server {
        
        listen 80;
        
        server_name your_domain_or_ip;
      # 替换为域名或IP
        location / {
        
            proxy_pass http://127.0.0.1:8000;
          # 转发到Gunicorn
            proxy_set_header Host $host;
        
            proxy_set_header X-Real-IP $remote_addr;
    
        }
    
        # 可选:处理静态文件(需在Django/Flask中配置STATIC_ROOT)
        location /static/ {
        
            alias /path/to/your/static/files/;
    
        }
    
    }
        
    
  • 启用配置并重启Nginx:
    sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
    sudo nginx -t  # 测试配置语法
    sudo systemctl restart nginx
    

6. 开机自启:创建Systemd服务

确保应用在服务器重启后自动运行,创建Systemd服务文件:

sudo nano /etc/systemd/system/myproject.service

写入以下内容(替换路径与用户):

[Unit]
Description=My Python Project
After=network.target

[Service]
User=your_username  # 替换为你的用户名
WorkingDirectory=/path/to/your/project  # 替换为项目路径
ExecStart=/path/to/your/project/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app
Restart=always  # 崩溃后自动重启

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl start myproject.service
sudo systemctl enable myproject.service  # 开机自启
# 检查服务状态
sudo systemctl status myproject.service

7. 可选:使用Docker容器化部署

Docker可打包应用及依赖,确保环境一致性:

7.1 创建Dockerfile

在项目根目录创建Dockerfile

# 使用官方Python镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制项目文件
COPY . /app
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 80
# 运行Gunicorn
CMD ["gunicorn", "-w 4", "-b 0.0.0.0:80", "app:app"]

7.2 构建与运行Docker镜像

# 构建镜像(标签为myproject:latest)
docker build -t myproject .
# 运行容器(映射80端口到主机)
docker run -d -p 80:80 --name myproject_container myproject

通过以上步骤,即可在Ubuntu上完成Python项目的部署与运行,涵盖从环境配置到生产优化的完整流程。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Python项目如何部署与运行
本文地址: https://pptw.com/jishu/733465.html
Ubuntu PHP如何编写脚本 如何在Ubuntu上优化Python环境

游客 回复需填写必要信息