Python项目在CentOS上如何部署

以下是在CentOS上部署Python项目的核心步骤,涵盖环境准备、依赖管理、服务配置等关键环节:

一、基础环境准备

  1. 安装Python

    • 使用YUM安装Python 3:
      sudo yum update -y  
      sudo yum install python3 python3-pip -y  # 安装Python 3及pip  
      python3 --version  # 验证安装  
      
  2. 创建虚拟环境(隔离依赖)

    python3 -m venv myenv  # 创建虚拟环境  
    source myenv/bin/activate  # 激活环境  
    

二、部署项目依赖

  1. 安装项目依赖包

    • 通过requirements.txt安装:
      pip install -r requirements.txt  
      
  2. 处理系统级依赖

    • 若依赖库需要系统库(如libffi-devel),用YUM安装:
      sudo yum install libffi-devel openssl-devel -y  
      

三、运行项目

  1. 直接运行(开发环境)

    python app.py  # 替换为项目入口文件  
    
  2. 使用WSGI服务器(生产环境)

    • 以Gunicorn为例:
      pip install gunicorn  
      gunicorn -w 4 -b 0.0.0.0:8000 app:app  # 绑定端口,启动服务  
      

四、配置系统服务(可选)

  • 创建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 daemon-reload  
    sudo systemctl start myapp  
    sudo systemctl enable myapp  
    

五、开放网络访问

  • 配置防火墙放行端口(如8000):
    sudo firewall-cmd --permanent --add-port=8000/tcp  
    sudo firewall-cmd --reload  
    

六、进阶部署(可选)

  • Docker部署

    1. 编写Dockerfile
      FROM python:3.9-slim  
      WORKDIR /app  
      COPY requirements.txt .  
      RUN pip install -r requirements.txt  
      COPY . .  
      CMD ["python", "app.py"]  
      
    2. 构建并运行容器:
      docker build -t myapp .  
      docker run -d -p 8000:8000 myapp  
      
  • 反向代理(Nginx)
    配置Nginx代理请求到Gunicorn服务,提升安全性和负载能力。

注意事项

  • 生产环境务必使用虚拟环境隔离依赖。
  • 定期更新依赖包(pip list --outdated)以修复安全漏洞。
  • 敏感信息(如数据库密码)通过环境变量管理,避免硬编码。

以上步骤参考自,可根据项目需求选择合适方案。