阿里云部署flask项目

基于centos-7.3系统(阿里云实例),使用 Gunicorn + Nginx + flask 进行布署
nginx会用到80端口,gunicorn会用到5000端口,在安全组中开放对应端口
一、安装环境
安装python3参考如下链接

https://blog.csdn.net/qq_41980405/article/details/104681245

建议不要删除python2,否则影响yum的使用。
修改yum配置
因为yum只支持python2,我们为python3建立软链接后直接使用yum install会报错,需要修改配置文件指定路径。

vi /usr/bin/yum
#将首行 #! /usr/bin/python修改为#! /usr/bin/python2.7
 
vi /usr/libexec/urlgrabber-ext-down
#将首行 #! /usr/bin/python 修改为#! /usr/bin/python2.7

至此,python3和yum都可正常使用。

pip3 install flask
pip3 install gunicorn

在一个文件夹内写了个入门程序 app.py

mkdir test
cd test
vim app.py
from flask import Flask
 
app = Flask(__name__)
 
@app.route("/")
def hello():
    return "

Hello flask

"

在test文件夹内测试gunicorn

gunicorn -w 4 -b 127.0.0.1:5000 app:app

二、安装nginx
添加 Nginx 源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 Nginx

yum install -y nginx

启动 Nginx

systemctl start nginx.service

设置开机自启 Nginx

systemctl enable nginx.service

修改配置文件

vim /etc/nginx/conf.d/default.conf

具体内容如下(包括如下内容即可)

server {
	listen	80;
	server_name #阿里云主机ip;
	location / {
	proxy_pass http://127.0.0.1:5000
	}
}

重启nginx

service nginx restart
nginx -s reload

自定义的配置文件放在/etc/nginx/conf.d
项目文件存放在/usr/share/nginx/html/
日志文件存放在/var/log/nginx/
还有一些其他的安装文件都在/etc/nginx

三、运行
在test文件夹内运行

gunicorn -w 4 -b 127.0.0.1:5000 app:app

阿里云部署flask项目_第1张图片

在浏览器输入http://阿里云主机ip:80即可成功访问
阿里云部署flask项目_第2张图片
进阶
实现数据展示
阿里云服务器中安装配置MYSQL数据库完整教程
参考如下链接

https://blog.csdn.net/qq_45441466/article/details/109670194

创建数据表如下图所示
阿里云部署flask项目_第3张图片
创建flask文件夹,里面放入工程文件
阿里云部署flask项目_第4张图片
在flask文件夹内运行gunicorn

gunicorn -w 4 -b 127.0.0.1:5000 app:app

在浏览器输入http://阿里云主机ip:80即可成功访问
阿里云部署flask项目_第5张图片
如何优雅的退出/关闭/重启gunicorn进程
参考如下链接

https://cloud.tencent.com/developer/article/1493641

你可能感兴趣的:(flask,阿里云)