在腾讯云轻量应用服务器上怎么部署Python项目?

在腾讯云轻量应用服务器上部署 Python 项目是一个常见需求。以下是详细的部署步骤,适用于 Flask、Django 等常见的 Python Web 框架。


✅ 前提准备

  1. 已购买腾讯云轻量应用服务器(Lighthouse)
    • 推荐系统:Ubuntu 20.04 / 22.04 或 CentOS 7/8
  2. 本地有 Python 项目代码(如 Flask/Django)
  3. SSH 访问权限(通过密钥或密码登录)

🚀 部署步骤


第一步:登录服务器

使用 SSH 登录你的轻量服务器:

ssh root@你的服务器公网IP
# 或者
ssh ubuntu@你的服务器公网IP  # 如果是 Ubuntu 系统

第二步:更新系统并安装必要软件

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip python3-venv nginx git -y

# CentOS/RHEL
sudo yum update -y
sudo yum install python3 python3-pip nginx git -y

第三步:上传或克隆项目代码

方法一:使用 Git 克隆(推荐)

git clone https://github.com/yourname/your-python-project.git
cd your-python-project

确保你的项目包含 requirements.txt

方法二:本地上传(使用 SCP)

scp -r 本地项目路径 root@服务器IP:/root/项目路径

第四步:创建虚拟环境并安装依赖

python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

如果是 Django 项目,可能还需要:

python manage.py collectstatic
python manage.py migrate

第五步:配置 Web 服务(以 Gunicorn + Nginx 为例)

1. 安装 Gunicorn

pip install gunicorn

2. 测试启动项目(以 Flask 为例)

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

app:app 表示文件名:Flask 实例变量名,根据你的项目调整

Ctrl+C 停止测试。


第六步:配置 Gunicorn 为后台服务(systemd)

创建服务文件:

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

内容如下(根据项目调整):

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

[Service]
User=ubuntu  # 或 root,根据你用的用户
Group=www-data
WorkingDirectory=/home/ubuntu/your-python-project
ExecStart=/home/ubuntu/your-python-project/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app
Restart=always
Environment=PYTHONPATH=/home/ubuntu/your-python-project

[Install]
WantedBy=multi-user.target

启用并启动服务:

sudo systemctl daemon-reload
sudo systemctl enable myproject
sudo systemctl start myproject
sudo systemctl status myproject  # 查看是否运行成功

第七步:配置 Nginx 反向

编辑默认站点配置:

sudo nano /etc/nginx/sites-available/default

修改 location / 部分:

server {
    listen 80;
    server_name 你的服务器公网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;
    }

    # 静态文件(可选,Django 需要)
    location /static/ {
        alias /home/ubuntu/your-python-project/static/;
    }
}

测试配置并重启 Nginx:

sudo nginx -t
sudo systemctl restart nginx

第八步:开放防火墙端口

腾讯云轻量服务器需在 控制台 配置防火墙规则:

  1. 进入 腾讯云轻量服务器控制台
  2. 找到你的实例 → 防火墙 → 添加规则
  3. 放行端口:
    • 80 (HTTP)
    • 443 (HTTPS,后续可用 Let’s Encrypt)
    • 如需调试,也可放行 22 (SSH)

默认只放行 22、80、443、8443,其他端口需手动添加


第九步:访问项目

在浏览器中输入:

http://你的服务器公网IP

如果看到你的网页,说明部署成功!


✅ 可选优化

  1. 绑定域名

    • 在 DNS 解析中将域名指向服务器 IP
    • 修改 Nginx 的 server_name 为你的域名
  2. 启用 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
  1. 日志查看
sudo journalctl -u myproject -f
sudo tail -f /var/log/nginx/error.log

🔚 总结

步骤 内容
1 登录服务器
2 安装 Python、Nginx、Git
3 上传代码
4 创建虚拟环境并安装依赖
5 使用 Gunicorn 启动项目
6 配置 systemd 服务
7 配置 Nginx 反向
8 控制台放行端口
9 访问测试

如果你提供具体的框架(如 Flask、FastAPI、Django),我可以给出更精确的配置示例。

需要我为你生成一个完整的部署脚本吗?