温馨提示×

Python项目在Ubuntu如何部署

小樊
38
2025-03-30 17:11:11
栏目: 编程语言
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上部署Python项目通常涉及以下几个步骤:

  1. 安装Python: 首先确保系统中已安装Python,并且可能是您项目所需的特定版本。您可以使用pyenv来轻松管理多个Python版本。如果没有安装pyenv,可以直接使用Ubuntu的包管理器安装Python,例如安装Python 3.8.6:

    sudo apt update
    sudo apt install python3.8
    
  2. 创建虚拟环境: 使用python3 -m venvpipenv(或者在安装了pyenv的情况下使用pyenv virtualenv)创建并激活虚拟环境:

    # 如果使用系统自带的venv模块创建虚拟环境
    python3.8 -m venv my_project_venv
    source my_project_venv/bin/activate
    # 或者如果使用pipenv
    pip install pipenv
    pipenv --three
    pipenv shell
    
  3. 安装项目依赖: 进入项目的根目录,如果有requirements.txt文件,则使用pip安装所有依赖项:

    cd /path/to/my_project
    pip install -r requirements.txt
    
  4. 运行Python项目: 根据项目类型,可能是运行一个.py脚本、启动Flask/Django等Web应用,或者其他类型的程序。例如:

    python main.py
    

    或者如果是Django应用:

    python manage.py runserver
    
  5. 配置Nginx作为反向代理(可选): 为了将外部请求转发到Python应用,通常使用Nginx作为反向代理。

    • 安装Nginx:
      sudo apt update
      sudo apt install nginx -y
      
    • 配置Nginx:
      sudo nano /etc/nginx/sites-available/default
      
      server块中,配置反向代理,将请求转发到Python应用所在的端口(假设Python应用运行在8000端口):
      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;
              proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto scheme;
          }
      }
      
      保存并退出编辑器。
    • 测试Nginx配置:
      sudo nginx -t
      
    • 重新加载Nginx:
      sudo systemctl reload nginx
      
  6. 设置系统服务(可选): 为了确保Python应用在系统重启后自动启动,可以创建一个systemd服务文件。

    • 创建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/python3 /path/to/your/app/app.py
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
    • 重新加载systemd配置并启动服务:
      sudo systemctl daemon-reload
      sudo systemctl start python-app.service
      sudo systemctl enable python-app.service
      
    • 检查服务状态:
      sudo systemctl status python-app.service
      
  7. 配置防火墙(可选): 如果你的服务器启用了防火墙(例如UFW),确保允许HTTP(80端口)和你的应用程序使用的端口(例如8000)通过防火墙:

    sudo ufw allow 80
    sudo ufw allow 8000
    
  8. 测试部署: 在部署完成后,访问你配置的域名或IP地址,确认应用程序是否正常运行。

以上步骤涵盖了在Ubuntu上部署Python项目的基本流程,包括安装必要的软件包、创建虚拟环境、安装项目依赖、运行项目以及配置反向代理和系统服务。根据具体项目的需求,可能还需要进行其他配置,例如数据库设置、SSL证书安装等。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Ubuntu Python项目如何部署

0