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 Flaskapp = 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

转载于:https://www.cnblogs.com/mqxs/p/8706665.html

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

  1. 在阿里云上部署生产级别Kubernetes集群

    阿里云是国内非常受欢迎的基础云平台,随着Kubernetes的普及,越来越多的企业开始筹划在阿里云上部署自己的Kubernetes集群. 本文将结合实战中总结的经验,分析和归纳一套在阿里云上部署生产级 ...

  2. 如何在阿里云上构建一个合适的Kubernetes集群

    摘要: 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其 ...

  3. jq写的项目如何部署到静态服务器_如何在阿里云服务器上部署一个Web项目

    准备工作: 1:你得有云服务器! 2:你的云服务器上的tomcat必须正常运行! 如何在云服务器上发布一个Web项目? 1:需要制作好一个Web项目: 2:在本地电脑上tomcat上部署后运行正常: ...

  4. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功. 购买服务器 第一步当然是需要购买一台服务器了,我选择的是阿里 ...

  5. 阿里云上千规模节点项目提炼精华,全在这里了!

    作为国内最大市场占有份额的云服务提供商,阿里云凭借过硬的研发支撑和良好的安全机制,帮助企业成功地解决了许多高并发场景下的业务难题,如:分布式集群项目的自动化部署.降级和熔断,以及海量数据下的MQ消息队 ...

  6. 我的ELK搭建笔记(阿里云上部署)

    文章转载:http://www.jianshu.com/p/797073c1913f 仅用作个人学习,收藏 我的 ELK 搭建笔记(基于阿里云) "不是最好的,但一定是有良心的操作记录.&q ...

  7. 在阿里云上部署nodejs服务 + https

    准备 1.备案域名 2.阿里云服务器 3.node.js环境 开始 创建ECS云服务器实例 用MotaXterm连接web服务器 部署node.js 环境准备 上传项目并启动 使用pm2启动多个项目 ...

  8. 手把手教你在阿里云服务器部署一个属于自己的项目(一)新用户领取阿里云服务器

    FRIDAY9 II - kkluv - 单曲 - 网易云音乐 闲来没事上gitee看别人的代码,突然想到,我能不能把自己的项目部署到服务器,跟自己的农村土鳖小伙伴装装*,让他们看看我一飞冲天的进步. ...

  9. 阿里云服务器web项目启动连接mysql_在腾讯云阿里云上部署JavaWeb项目(Tomcat+MySQL)...

    云服务器安装Tomcat 安装Tomcat有好多种方式,可以在本地去Tomcat官网下载再用WinSCP上传到云服务器上,也可以直接在云服务器上命令行下载,本地下载再上传比较简单,就不多说了,说说用命 ...

  10. 在阿里云上部署基于gin的后端应用

    接着我的前一篇博客​​​​​​gin实现简易服务器_liji_digital的博客-CSDN博客 我申请的是ubuntu服务器.所以我的go exe要在windows上交叉编译,然后上传到阿里云. 1 ...

最新文章

  1. 附下载|Python带你实践机器学习圣经PRML
  2. Chmod 777到一个文件夹和所有内容[重复]
  3. Job_search_collection
  4. c语言实现--不带头结点的单链表操作
  5. 善待精力,保持体力,保持热情
  6. 如何提高阅读源代码的效率 .
  7. VIM - 01. 标准模式 - 下简单操作
  8. dubbo k8s 服务发现_将Dubbo微服务迁移到k8s集群环境中前的思考与落地
  9. Windows安装SSH
  10. 计算机网络基础ios指令,IOS快捷指令制作真正的贴吧每天全自动签到
  11. pandas使用dataframe的索引和数据列同时对dataframe数据进行排序、使用ascending参数指定索引和数据列的排序方向(升序或者降序)
  12. 如何使用UltraCompare对比两个文件夹内容差异
  13. 强大的sed_拔剑-浆糊的传说_新浪博客
  14. 全局安装vue-cli以及初始化
  15. Ubuntu安装Nixnote,解决印象笔记(国服/中国区)登录不能显示输入密码的问题
  16. 如何通过二极管设计一个与门电路
  17. java 搭建ota服务器_OTA配置服务器
  18. vue执行配置选项npm run serve的本质
  19. 行人重识别论文--A Bottom-up Clustering Approach to Unsupervised Person Re-identification
  20. 【语音处理】基于自适应差分脉冲编码调制(ADPCM)的实现研究附Matlab代码

热门文章

  1. Struts2之入门
  2. 【渝粤教育】国家开放大学2018年秋季 7048-21T危急重症护理学(本) 参考试题
  3. 【渝粤教育】电大中专职业生涯规划_1作业 题库
  4. C++案例试炼:机房预约系统【附完整代码】
  5. Android Studio添加aar依赖
  6. 百度之星初赛A 今夕何夕
  7. Mimikatz 攻防杂谈
  8. java 枚举 类 enum
  9. VC++的链接错误LNK2001zz
  10. 前端性能监控你会监控哪些数据? 如何做?