在腾讯云轻量应用服务器上部署 Python 项目是一个常见需求。以下是详细的部署步骤,适用于 Flask、Django 等常见的 Python Web 框架。
✅ 前提准备
- 已购买腾讯云轻量应用服务器(Lighthouse)
- 推荐系统:Ubuntu 20.04 / 22.04 或 CentOS 7/8
- 本地有 Python 项目代码(如 Flask/Django)
- 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
第八步:开放防火墙端口
腾讯云轻量服务器需在 控制台 配置防火墙规则:
- 进入 腾讯云轻量服务器控制台
- 找到你的实例 → 防火墙 → 添加规则
- 放行端口:
80(HTTP)443(HTTPS,后续可用 Let’s Encrypt)- 如需调试,也可放行
22(SSH)
默认只放行 22、80、443、8443,其他端口需手动添加
第九步:访问项目
在浏览器中输入:
http://你的服务器公网IP
如果看到你的网页,说明部署成功!
✅ 可选优化
-
绑定域名
- 在 DNS 解析中将域名指向服务器 IP
- 修改 Nginx 的
server_name为你的域名
-
启用 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
- 日志查看
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),我可以给出更精确的配置示例。
需要我为你生成一个完整的部署脚本吗?
CLOUD技术笔记