Python 3.11项目云服务器部署完整流程
想让Python 3.11项目从本地走向云端?云服务器是关键载体。本文从环境搭建到最终部署,手把手教你完成Python 3.11项目的云服务器全流程部署。
前期准备:工具与环境双确认
部署前需备齐两样核心资源:一是能承载项目运行的云服务器(建议选择2核4G以上配置,根据项目规模调整);二是本地已开发完成的Python 3.11项目代码,且已上传至GitHub/GitLab等代码托管平台。云服务器的公网IP和登录凭证(如SSH密钥或密码)也需提前准备好。
第一步:服务器环境搭建
以主流的Ubuntu系统为例,登录云服务器后先更新系统软件包:
sudo apt update && sudo apt upgrade -y
Python 3.11并非所有系统默认安装,需通过PPA源安装:
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt install python3.11 python3.11-venv python3.11-pip -y
安装完成后验证版本:
python3.11 --version # 应显示Python 3.11.x
这里特别提醒,若服务器已安装其他Python版本(如3.8),需明确使用`python3.11`命令避免版本冲突。
第二步:项目代码落地
为项目代码找个“新家”,在服务器根目录下新建目录并进入:
mkdir -p /opt/my_project && cd /opt/my_project
从代码托管平台克隆项目(替换`<仓库地址>`为实际URL):
git clone <仓库地址> .
创建并激活Python虚拟环境(隔离项目依赖):
python3.11 -m venv venv
source venv/bin/activate # 激活后命令行前会显示(venv)
安装项目依赖(确保`requirements.txt`已包含所有所需包):
pip install -r requirements.txt
项目运行与生产环境适配
本地开发时用的`python manage.py runserver`仅适合调试,生产环境需更稳定的WSGI服务器。以Gunicorn为例,先安装:
pip install gunicorn
启动命令需指定工作进程数(通常为CPU核心数×2+1)和绑定地址:
gunicorn -w 4 -b 0.0.0.0:8000 your_project.wsgi:application
若项目使用Django,`your_project.wsgi:application`是默认入口;Flask项目则需指向`app`对象(如`myapp:app`)。
用Nginx做流量入口
Nginx作为反向代理服务器,能高效处理静态资源并转发动态请求。安装Nginx:
sudo apt install nginx -y
创建项目配置文件(路径`/etc/nginx/sites-available/my_project`):
server {
listen 80;
server_name 你的云服务器公网IP; # 或绑定域名
location / {
proxy_pass http://127.0.0.1:8000; # 转发至Gunicorn
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
创建软链接启用配置并重启服务:
sudo ln -s /etc/nginx/sites-available/my_project /etc/nginx/sites-enabled/
sudo systemctl restart nginx
保障服务持久运行
为避免服务器重启后服务中断,需用Systemd管理Gunicorn。创建服务文件`/etc/systemd/system/gunicorn.service`:
[Unit]
Description=Gunicorn service for Python project
After=network.target
[Service]
User=ubuntu # 替换为你的服务器用户名
Group=www-data
WorkingDirectory=/opt/my_project
ExecStart=/opt/my_project/venv/bin/gunicorn -w 4 -b 0.0.0.0:8000 your_project.wsgi:application
[Install]
WantedBy=multi-user.target
执行以下命令生效:
sudo systemctl daemon-reload
sudo systemctl start gunicorn
sudo systemctl enable gunicorn # 开机自启
同时确保Nginx开机自启:
sudo systemctl enable nginx
完成以上步骤,你的Python 3.11项目就能在云服务器上稳定运行,通过公网IP或域名被全球用户访问。过程中需注意定期更新依赖、监控服务器负载,遇到问题可通过`journalctl -u gunicorn`查看日志排查。云服务器的弹性扩展能力也为后续项目升级预留了空间,当访问量增长时,可轻松调整配置应对更高并发。
上一篇: vps海外部署MySQL 8.0主从复制原理与实战指南
下一篇: 云服务器Win系统快照原理解析