【Centos】【Python】【Flask】阿里云上部署一个 flask 项目

1、 安装 python3 和 pip3

参考:http://www.cnblogs.com/mqxs/p/8692870.html

2、安装 lnmpa 集成开发环境

参考:http://www.cnblogs.com/mqxs/p/8706353.html

3、gunicorn安装

参考资料: gunicorn

pip install gunicorn

4、flask 安装

参考资料: flask

pip install flask
pip install virtualenv

5、virtualenv 使用

参考资料: virtualenv

$ mkdir myproject
$ cd myproject
$ virtualenv venv
$ . venv/bin/activate

6、从仓库下载 flask 工程文件

1.git 操作, 当然也可以直接用filezila 将工程传递上去

  注意这里需要同时安装 工程相关的依赖插件 flask-login 之类的 

2.需要特别注意的是, 使用 pip install xxx 和 sudo pip install xxx 的效果是不一样的, 由于我们最终使用sudo运行, 因此, 这里所有依赖的插件都应该使用 sudo pip 进行安装, 否则运行错误 

这里写图片描述
这里写图片描述

 7、运行工程项目

helloworld.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
gunicorn -w 3 -b 127.0.0.1:8000 helloworld:app

1.这里使用gunicorn 启动工程

2.这里说明一下: 
- D 表示后台运行 (PS.我试了加了-D就启动失败了,原因未知)
- w 表示有3 个 工作线程(感觉有些类似 nginx 的 master-worker 模型) 
- b 指定ip 和端口 
- 这里采用本机访问, 主要是为了使用nginx 进行代理, 方便管理 
- application 表存放 写着全局变量 app 的那个工程文件
- 在我们的这个工程中, 即包含 init.py 的那个文件 
- app 为全局变量 (app = Flask(__name__)) 
- ps: 在下面图示文件夹中运行 gunicorn 指令 

到达这一步,你可以在本机的浏览器上访问127.0.0.1:8000,浏览器上就会出现Hello World!

注意:如果是想通过外网访问的话就要把ip改为内网的ip,外网直接用外网ip登陆即可。

还有一点要注意的,如果外网无法连接(当时一直以为部署失败了),需要去阿里云那边修改安全组配置,修改配置规则,将自己的端口加入,才可以外网访问。

如下图:

3.参考资料: Docs » Running Gunicorn 
这里写图片描述

8、 配置nginx 服务器脚本

1.安装完的nginx 在 /usr/local/nginx 目录下, 我们可以找到conf文件夹下的 nginx.conf 文件, 将其修改

 这里写图片描述

2.添加nginx 需要监听的端口信息

server {
    listen 8001;
    server_name instagram.zhyh2010.com;
    location /{
        proxy_pass http://127.0.0.1:8000;
    }
}

实际上, 我们将外部通过 8001 端口发送过来的请求, 代理给了 127.0.0.1:8000 也就是我们的 flask 项目

这里写图片描述

记得完成 nginx 需要重新起动 nginx 服务喔!

sudo service nginx restart

9、防火墙设置

1. 参考资料:

解决 RHEL 7/ CentOS 7/Fedora 出现Unit iptables.service failed to load

centOS防火墙中端口的开启和关闭

linux 中防火墙配置 iptables 命令参数的含义介绍

2.防火墙设置信息 

这里写图片描述

1.可以看到 我们的8000, 8001 端口都是开放的, 但是 8000 端口上没有程序监听 (我们的程序只监听本机的 8000 端口)

而 8001 端口是通过 nginx 监听的。

2.端口监听信息 

这里写图片描述

 

参考原文:https://blog.csdn.net/zhyh1435589631/article/details/51946439

 

posted on 2018-04-03 10:09  梦琪小生  阅读(4408)  评论(0编辑  收藏  举报

导航