温馨提示×

Debian环境下Python代码如何部署上线

小樊
43
2025-07-26 06:52:16
栏目: 编程语言

在Debian环境下部署Python代码可以通过多种方式进行,以下是一些常见的方法:

使用虚拟环境

  1. 安装Python和pip
sudo apt update
sudo apt install python3 python3-pip
  1. 创建虚拟环境
python3 -m venv myenv
  1. 激活虚拟环境
source myenv/bin/activate
  1. 安装依赖
pip install -r requirements.txt
  1. 运行应用
python app.py

使用systemd服务

  1. 创建systemd服务文件
sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=My Python Application
After=network.target

[Service]
User=yourusername
Group=yourgroupname
WorkingDirectory=/path/to/your/app
ExecStart=/path/to/your/app/venv/bin/python /path/to/your/app/app.py
Restart=always

[Install]
WantedBy=multi-user.target
  1. 重新加载systemd配置
sudo systemctl daemon-reload
  1. 启动服务
sudo systemctl start myapp
  1. 设置开机自启
sudo systemctl enable myapp

使用Gunicorn和Nginx

  1. 安装Gunicorn
pip install gunicorn
  1. 运行Gunicorn
gunicorn -w 4 -b 127.0.0.1:8000 app:app
  1. 安装Nginx
sudo apt install nginx
  1. 配置Nginx
sudo nano /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name yourdomain.com;
    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;
    }
}
  1. 启用配置
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
  1. 测试Nginx配置
sudo nginx -t
  1. 重启Nginx
sudo systemctl restart nginx

使用Docker

  1. 安装Docker
sudo apt install docker.io
  1. 创建Dockerfile
nano Dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:8000", "app:app"]
  1. 构建Docker镜像
docker build -t myapp .
  1. 运行Docker容器
docker run -d -p 8000:8000 myapp

以上方法都可以在Debian上成功部署Python应用。选择哪种方法取决于你的具体需求和偏好。

0