在阿里云ECS服务器上配置基于统信UOS Server的Nginx + Gunicorn + Python + Flask环境的教程
·
以下是在阿里云ECS服务器上配置基于统信UOS Server的Nginx+Gunicorn+Python+Flask环境的教程:
1. 准备工作
- 购买并配置ECS实例
- 在阿里云购买ECS实例,选择统信UOS Server操作系统。
- 设置安全组规则,开放HTTP(80端口)和HTTPS(443端口)。
- 远程连接服务器
- 使用SSH工具连接到ECS服务器。
2. 安装依赖
# 更新系统软件包
sudo apt update
sudo apt upgrade
# 安装基础依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
3. 安装Python和Flask
# 安装Python3(通常已预装)
sudo apt install python3 python3-pip
# 创建虚拟环境(可选,推荐)
python3 -m venv venv
source venv/bin/activate
# 安装Flask
pip install Flask
4. 编写Flask应用
在项目目录下创建app.py文件:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
5. 安装和配置Gunicorn
# 安装Gunicorn
pip install gunicorn
# 启动Gunicorn(测试)
gunicorn app:app
访问http://服务器IP:8000,查看Flask应用是否运行正常。
6. 安装和配置Nginx
# 安装Nginx
sudo apt install nginx
# 启动Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
7. 配置Nginx反向代理
编辑Nginx配置文件:
sudo nano /etc/nginx/conf.d/default.conf
修改内容如下:
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;
}
}
8. 重启Nginx
sudo nginx -t # 检查配置语法
sudo systemctl restart nginx
9. 配置Gunicorn系统服务(可选)
创建Gunicorn服务文件:
sudo nano /etc/systemd/system/gunicorn.service
内容如下:
[Unit]
Description=Gunicorn instance to serve your Flask app
After=network.target
[Service]
User=你的用户名
Group=你的用户组
WorkingDirectory=/path/to/your/project
ExecStart=/path/to/your/project/venv/bin/gunicorn --workers 3 --bind unix:/path/to/your/project.sock app:app
[Install]
WantedBy=multi-user.target
重新加载systemd并启动Gunicorn:
sudo systemctl daemon-reload
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
10. 测试应用
访问http://你的域名或服务器IP,应能看到Flask应用的页面。
11. 配置HTTPS(可选)
- 获取SSL证书
- 使用Let’s Encrypt或其他途径获取证书。
- 配置Nginx
- 编辑Nginx配置文件,添加HTTPS配置块。
- 重启Nginx。
以上步骤完成后,你的Flask应用将通过Nginx和Gunicorn在阿里云ECS服务器上运行。
更多推荐
所有评论(0)