基于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.7vi /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 Flaskapp = Flask(__name__)@app.route("/")
def hello():return "<h1>Hello flask<h1>"

在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

在浏览器输入http://阿里云主机ip:80即可成功访问

进阶
实现数据展示
阿里云服务器中安装配置MYSQL数据库完整教程
参考如下链接

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

创建数据表如下图所示

创建flask文件夹,里面放入工程文件

在flask文件夹内运行gunicorn

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

在浏览器输入http://阿里云主机ip:80即可成功访问

如何优雅的退出/关闭/重启gunicorn进程
参考如下链接

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

阿里云部署flask项目相关推荐

  1. 阿里云部署docker项目流程

    阿里云部署docker项目流程 这是自己的项目项目原来的项目是一个手机远程管理交换机的项目,项目中包含嵌入开发,python+flash对接的flutter(android+ios),mysql,re ...

  2. 阿里云部署Django项目(nginx+uWSGI)-2018.11

    前言:部署的前提是你的项目已经在本地完成可以运行了,我的本地环境是ubuntu16.04+python3.5+Django2.1.2+Mysql,在python虚拟环境(virtualenv)下建的项 ...

  3. 阿里云部署django项目流程【centos7+python3+mysql】

    购买阿里云服务器 到[阿里云官网],选择轻量应用服务器, 步骤如图所示:  地域随便选择哪一个,镜像的话,对比了CentOS,Debian,Ubuntu,我最终选择了CentOS,因为流行嘛-配置的话 ...

  4. 【超详细附参考】阿里云部署spring项目基本流程详解及踩坑经验

    文章目录 环境及前期准备 基本流程 购买云服务器 连接云服务器 工具准备 Xshell连接: Xftp连接: 环境配置 JDK安装 Tomcat安装 Mysql安装 Maven安装 项目打包部署 数据 ...

  5. 阿里云部署SpringBoot项目

    目录 步骤1:购买服务器(新用户免费试用一个月) 步骤2:查看服务器相关信息 ​编辑 步骤3:设置安全组 步骤4:远程连接 步骤5:使用FinalShell连接阿里云服务器 步骤6:阿里云服务器上安装 ...

  6. 阿里云部署Django项目发送邮件时,端口25,465,587上的坑

    今天在往阿里云上部署Django项目时,遇到一个端口的坑,花了半天终于找到问题所在. 在Django项目中,发送邮件需要在settings.py中做如下的设置: EMAIL_HOST = 'smtp. ...

  7. 使用阿里云部署Web项目后无法通过浏览器访问

    部署时使用Django+Nginx+uwsgi的框架,部署完成后访问网页一直报错无法访问,检查部署过程没有问题,之后发现原因是没有开启阿里云的端口 解决方法是: 1.登录阿里云,在控制台进入云服务器的 ...

  8. 阿里云部署war项目

    一:     使用IDEA创建一个SpringMVC网站 DEMO 链接如下:(为转载) 1:  使用IntelliJ IDEA开发SpringMVC网站(一)开发环境 https://my.osch ...

  9. javaweb k8s_阿里云部署K8Sweb项目

    一.背景 如果你 1.使用Java进行开发 2.使用容器镜像的制品形式进行交付 3.制品最终会运行在阿里云ACK或者其他K8S集群上 那么本文档可以帮助您实现研发流程的协同自动化. 二.用户诉求 1. ...

  10. 阿里云部署Django项目

    文章目录 1.阿里云安装CentOS7.8操作系统. 2.安装MySQL5.7.32: 3.安装mysqlclient: 4.安装Nginx1.20.2: 5.安装uwsgi2.0.20服务器: 6. ...

最新文章

  1. Nand Flash,Nor Flash,BPI Flash,SPI Flash 的区别?
  2. 为什么说 TCP/IP 是一个不确定性网络
  3. CG CTF WEB 变量覆盖
  4. SocialFish-kali下社会工程学钓鱼工具
  5. phpcms v9 sql数据{$r[content]},前端如何换行显示?
  6. Syslog4j介绍
  7. Spring mvc 转发
  8. java进程CPU飙高
  9. Ubuntu通过apt-get安装指定版本和查询软件源有多少个版本
  10. vue 获取安卓原生方法_H5-vue与原生Android、ios交互获取相册图片
  11. C++输出UNICODE字符集
  12. nodejs+vue+elementui校园疫情防控出入登记系统python java
  13. 智能电销机器人语音自动外呼效果好吗
  14. sucks倒计时插件笔记
  15. 成长型思维和固定型思维
  16. CSRF, XSS攻击
  17. 语法-07-复合词,接尾词
  18. unity 字符串 小技巧
  19. 非华为电脑使用EMUI10多屏协同教程
  20. 关于5G,四大运营商说......

热门文章

  1. 笔记本电脑触摸板手势操作
  2. 2018年总结及2019年展望
  3. 内联汇编很可怕吗?看完这篇文章,终结它!
  4. 图文并茂教你怎么制作pdf文件的目录?
  5. 以贝叶斯思维看待世界
  6. 计算机配置怎么造假,骗局揭秘:卖你一台假电脑 再送你一个假鲁大师
  7. C#中Winform控件扁平化设计
  8. PS——图层的混合模式及图层蒙版
  9. matlab怎么表示二元函数,如何用Matlab画二元函数?
  10. 线性代数笔记12——列空间和零空间