准备云服务器环境:购买并登录linux服务器,通过ssh连接后安装python3、pip、虚拟环境、nginx和Supervisor;2. 上传项目至/var/www/myapp,创建虚拟环境并安装依赖,测试应用运行;3. 安装gunicorn作为WSGI服务器,使用gunicorn命令启动服务;4. 配置Nginx反向代理,将请求转发至Gunicorn,启用站点并重启Nginx;5. 使用Supervisor管理Gunicorn进程,配置自动启动与日志记录,确保服务稳定;6. 在云平台开放80端口,绑定域名A记录,访问IP即可查看应用;7. 可选配置httpS,通过Certbot申请Let’s Encrypt证书,自动完成ssl加密。

部署Python网页应用到云服务器并不复杂,只要掌握关键步骤。本文以flask为例,带你完整走通从本地开发到云端上线的全流程,适用于阿里云、腾讯云、AWS等主流云平台。
1. 准备云服务器环境
购买并登录一台Linux云服务器(推荐ubuntu 20.04或centos 7以上),通过SSH连接:
安装基础依赖:
- 更新系统:apt update && apt upgrade -y
- 安装Python3和pip:apt install python3 python3-pip -y
- 安装虚拟环境工具:apt install python3-venv -y
- 安装Web服务器:apt install nginx -y
- 安装进程管理器:apt install supervisor -y
2. 上传并配置Python项目
将本地Flask项目上传到服务器,比如放在 /var/www/myapp 目录下。
立即学习“Python免费学习笔记(深入)”;
创建虚拟环境并安装依赖:
- cd /var/www/myapp
- python3 -m venv venv
- source venv/bin/activate
- pip install -r requirements.txt
确保你的主程序文件(如app.py)能正常运行,测试命令:python app.py
3. 使用Gunicorn启动Web服务
Flask自带服务器不适合生产环境,需使用Gunicorn作为WSGI服务器。
- 安装Gunicorn:pip install gunicorn
- 测试启动:gunicorn -w 4 -b 127.0.0.1:8000 app:app
-w 表示工作进程数,-b 指定绑定地址,app:app 第一个app是文件名,第二个是Flask实例名。
4. 配置Nginx反向代理
修改Nginx站点配置,让其转发请求到Gunicorn。
编辑配置文件:/etc/nginx/sites-available/myapp
server { listen 80; server_name your-domain-or-ip; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
启用站点:ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
重启Nginx:systemctl restart nginx
5. 使用Supervisor守护进程
防止Gunicorn意外退出,用Supervisor管理进程。
创建配置文件:/etc/supervisor/conf.d/myapp.conf
[program:myapp] command=/var/www/myapp/venv/bin/gunicorn -w 4 -b 127.0.0.1:8000 app:app directory=/var/www/myapp user=www-data autostart=true autorestart=true redirect_stderr=true stdout_logfile=/var/log/myapp.log
更新Supervisor配置:supervisorctl reread && supervisorctl update
查看状态:supervisorctl status
6. 开放端口与域名绑定
在云服务商控制台开放安全组规则,允许80端口(HTTP)访问。
如有域名,可将其A记录指向服务器公网IP。
此时访问服务器IP应能看到你的Python网页应用。
7. 可选:启用https(Let’s Encrypt)
使用Certbot为网站添加SSL加密:
- apt install certbot python3-certbot-nginx
- certbot –nginx -d yourdomain.com
按提示操作即可自动配置HTTPS,提升安全性。
基本上就这些。只要每一步都确认执行成功,你的Python网页版就能稳定运行在云服务器上。