温馨提示×

Ubuntu Python项目部署怎么操作

小樊
55
2025-05-22 01:28:50
栏目: 编程语言

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

1. 环境搭建

  • 更新系统

    sudo apt update
    sudo apt upgrade
    
  • 安装Python和pip

    Ubuntu 20.04和更高版本默认已安装Python 3。你可以通过运行以下命令检查Python和pip的版本:

    python3 --version
    pip3 --version
    

    如果Python或pip没有安装,可以使用以下命令安装:

    sudo apt install python3 python3-pip
    
  • 创建虚拟环境

    使用python3 -m venvpipenv创建并激活虚拟环境。例如:

    python3 -m venv myenv
    source myenv/bin/activate
    

    或者使用pipenv

    pip install pipenv
    pipenv --create
    pipenv shell
    
  • 安装项目依赖

    进入项目的根目录,如果有requirements.txt文件,则使用pip安装所有依赖项:

    cd /path/to/my_project
    pip install -r requirements.txt
    

2. 上传项目

  • 将项目文件上传到服务器。建议使用Git进行版本控制,并通过SSH上传代码。

3. 配置Web服务器(如Nginx)

  • 安装Nginx

    sudo apt install nginx
    
  • 配置Nginx

    编辑Nginx配置文件,通常位于/etc/nginx/sites-available/default,添加以下内容到配置文件中:

    server {
        listen 80;
        server_name your_domain_or_ip;
        location / {
            proxy_pass http://127.0.0.1:5000;
            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;
        }
    }
    

    your_domain_or_ip替换为你的实际域名或IP地址。

  • 重启Nginx

    sudo systemctl restart nginx
    

4. 运行Python项目

  • 根据项目类型,可能是运行一个.py脚本、启动Flask/Django等Web应用,或者其他类型的程序。例如,如果是Django应用:

    python manage.py runserver
    

    或者如果是Flask应用:

    export FLASK_APP=app.py
    flask run --host=0.0.0.0
    

5. 设置开机自启(可选)

  • 创建一个systemd服务文件,并放置在/etc/systemd/system/目录下。然后启用并启动服务:

    [Unit]
    Description=My Python Service
    After=network.target
    
    [Service]
    User=your_username
    Group=your_group
    WorkingDirectory=/path/to/your/app
    ExecStart=/path/to/your/app/myenv/bin/python /path/to/your/app/app.py
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    
    sudo systemctl daemon-reload
    sudo systemctl start my-python-service.service
    sudo systemctl enable my-python-service.service
    

6. 使用Docker(可选)

  • 安装Docker

    sudo apt update
    sudo apt install docker.io
    
  • 拉取Python镜像

    docker pull python:3.6
    
  • 创建容器并在容器内增加项目所需第三方库

    docker run -it python:3.6 /bin/bash
    pip install pandas opencv-python
    
  • 将步骤2的容器制作为镜像

    docker commit fa5bc4eaf4de new_python:3.6
    
  • 使用新的镜像启动容器测试

    docker run -it new_python:3.6 /bin/bash
    
  • 打包镜像

    docker save -o python_images.tar.gz new_python:3.6
    

以上步骤是在Ubuntu上部署Python项目的基本流程。具体项目部署时可能还需要考虑其他因素,如数据库设置、SSL证书安装等。

0