奋斗
努力

阿里云轻量应用服务器怎么部署python?

云计算

在阿里云轻量应用服务器上部署 Python 项目,通常有几种常见方式。下面我将以 最常用、最适合新手 的方式——使用 Python + Flask/Django + Nginx + Gunicorn/uWSGI 架构为例,提供完整步骤。

✅ 假设你使用的是 Ubuntu/Debian 或 CentOS 系统(阿里云默认镜像多为这两种)。


🚀 一、准备工作

  1. 登录阿里云控制台,进入【轻量应用服务器】实例。
  2. 通过 SSH 连接到服务器:
    ssh root@你的服务器IP
  3. 更新系统软件包:

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    
    # CentOS
    sudo yum update -y

🐍 二、安装 Python 和 pip

Ubuntu/Debian:

sudo apt install python3 python3-pip python3-venv -y

CentOS:

sudo yum install python3 python3-pip -y
# 如果版本太旧,可考虑使用 Software Collections 或编译安装

验证安装:

python3 --version
pip3 --version

📁 三、创建项目目录与虚拟环境

mkdir ~/myproject
cd ~/myproject

# 创建虚拟环境
python3 -m venv myenv

# 激活虚拟环境
source myenv/bin/activate

💡 以后每次使用项目前,需先 source myenv/bin/activate


📦 四、安装依赖(以 Flask 为例)

pip install flask gunicorn

创建一个简单的 app.py:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, World! from Python on Alibaba Cloud!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

测试运行:

gunicorn --bind 0.0.0.0:8000 app:app

浏览器访问 http://你的服务器IP:8000,应看到 “Hello, World!”。


🌐 五、配置 Nginx 反向X_X(可选但推荐)

安装 Nginx:

# Ubuntu/Debian
sudo apt install nginx -y

# CentOS
sudo yum install nginx -y

创建 Nginx 配置文件:

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

内容如下(Ubuntu 示例):

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;
    }
}

启用站点并重启 Nginx:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

现在访问 http://你的服务器IP 即可看到 Python 应用输出。


⚙️ 六、设置开机自启(使用 systemd)

创建服务文件:

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

内容:

[Unit]
Description=Gunicorn instance to serve myproject
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:myproject.sock -m 007 wsgi:app

[Install]
WantedBy=multi-user.target

注意:你需要创建一个 wsgi.py 文件:

from app import app as application

启动服务:

sudo systemctl daemon-reload
sudo systemctl start myproject
sudo systemctl enable myproject

然后修改 Nginx 配置中的 proxy_pass 为:

proxy_pass http://unix:/root/myproject/myproject.sock;

重启 Nginx:

sudo systemctl restart nginx

🔒 七、安全建议

  1. 开放防火墙端口(阿里云控制台 → 防火墙规则):

    • 开放 80(HTTP)、443(HTTPS)
    • 如果不用 8000 端口,可关闭
  2. 使用 HTTPS(推荐 Let’s Encrypt):

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d 你的域名
  3. 定期更新系统和依赖:

    sudo apt upgrade -y
    cd ~/myproject && source myenv/bin/activate && pip install --upgrade -r requirements.txt

🧪 八、其他框架支持

  • Django:类似流程,用 gunicorn mysite.wsgi:application
  • FastAPI:用 uvicorn main:app --host 0.0.0.0 --port 8000
  • Flask + SQLite/MySQL:记得安装对应数据库驱动

✅ 总结流程图

SSH 登录 → 安装 Python/pip → 创建虚拟环境 → 安装依赖 → 写代码 → 
→ 用 Gunicorn 启动 → Nginx 反向X_X → Systemd 守护进程 → 安全加固

如需部署更复杂的项目(如带数据库、静态文件、多 worker),可进一步扩展。欢迎告诉我你的具体框架和需求,我可以提供更定制化的方案!

未经允许不得转载:云服务器 » 阿里云轻量应用服务器怎么部署python?