在阿里云轻量应用服务器(Simple Application Server, SAS)上部署 Python 环境,通常分为以下几个步骤。根据你的需求(是开发测试、运行 Web 应用还是脚本),可以选择不同的方案。
✅ 一、基础准备
-
登录服务器
- 通过 SSH 登录你的阿里云轻量应用服务器:
ssh root@<your-server-ip> - 如果首次登录,可能需要设置密码或密钥。
- 通过 SSH 登录你的阿里云轻量应用服务器:
-
更新系统包(可选但推荐)
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS/RHEL
✅ 二、安装 Python
方法1:使用系统包管理器安装(推荐用于生产环境)
Ubuntu/Debian:
sudo apt install python3 python3-pip python3-venv -y
CentOS/RHEL:
sudo yum install python3 python3-pip -y
✅ 验证安装:
python3 --version pip3 --version
方法2:从源码编译安装(需要特定版本时)
例如安装 Python 3.10:
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget curl -y
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
tar -xf Python-3.10.0.tgz
cd Python-3.10.0
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall
⚠️ 注意:
make altinstall避免覆盖系统默认的python命令。
✅ 三、创建虚拟环境(推荐)
为避免依赖冲突,建议使用虚拟环境:
python3 -m venv myenv
source myenv/bin/activate
激活后,提示符前会出现 (myenv),表示已进入虚拟环境。
安装项目依赖:
pip install flask requests numpy # 示例
退出虚拟环境:
deactivate
✅ 四、部署 Python 应用
场景1:运行简单脚本
python3 script.py
场景2:部署 Web 应用(如 Flask/Django)
以 Flask 为例:
-
安装 Flask:
pip install flask gunicorn -
创建
app.py:from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, World!" if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) -
使用 Gunicorn 启动(更稳定):
gunicorn --bind 0.0.0.0:8080 app:app -
配置防火墙开放端口:
- 登录阿里云控制台 → 轻量应用服务器 → 防火墙 → 添加规则:
- 协议:TCP
- 端口:8080
- 来源:0.0.0.0/0(或指定 IP)
- 登录阿里云控制台 → 轻量应用服务器 → 防火墙 → 添加规则:
-
访问:
http://<your-server-ip>:8080
场景3:使用 Nginx + Gunicorn 反向X_X(生产环境推荐)
-
安装 Nginx:
sudo apt install nginx -y -
创建 Gunicorn 服务文件
/etc/systemd/system/gunicorn.service:[Unit] Description=Gunicorn instance to serve myapp After=network.target [Service] User=root Group=www-data WorkingDirectory=/root/myproject Environment="PATH=/root/myproject/myenv/bin" ExecStart=/root/myproject/myenv/bin/gunicorn --workers 3 --bind unix:myapp.sock -m 007 app:app [Install] WantedBy=multi-user.target -
启动并启用服务:
sudo systemctl start gunicorn sudo systemctl enable gunicorn -
配置 Nginx
/etc/nginx/sites-available/myapp:server { listen 80; server_name your_domain.com; # 或使用 IP location / { include proxy_params; proxy_pass http://unix:/root/myproject/myapp.sock; } } -
链接并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx -
开放 HTTP 端口(80)和 HTTPS(443)在阿里云防火墙中。
✅ 五、自动化管理(可选)
- 使用
systemd管理后台进程(如上所示)。 - 使用
supervisor或pm2(配合 node.js)也可管理 Python 进程。 - 配置自动启动:确保服务已
enable。
✅ 六、安全建议
- 禁用密码登录,使用 SSH 密钥。
- 修改默认 SSH 端口(如改为 2222)。
- 安装 fail2ban 防止暴力破解。
- 定期更新系统和 Python 包:
pip install --upgrade pip pip list --outdated - 使用 HTTPS:可通过 Let’s Encrypt 免费证书 + Certbot 实现。
📌 总结流程图
登录服务器
↓
安装 Python + pip
↓
创建虚拟环境
↓
安装项目依赖
↓
选择运行方式:
├── 直接运行 python script.py
├── Gunicorn 单实例
└── Nginx + Gunicorn(生产环境)
↓
配置防火墙开放端口
↓
测试访问 & 监控日志
如果你告诉我你具体要部署什么类型的 Python 应用(如 Django、Flask、FastAPI、爬虫、定时任务等),我可以提供更具体的部署指南。
云知识CLOUD