这篇文章主要介绍了阿里云CentOS 7.4 使用Flask建站的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
python web 部署方式为:nginx + gunicorn + supervisor + flask
一、准备工作,先来安装pip
详细教程如:
1、首先检查linux有没有安装python-pip包,直接执行 yum install python-pip
※显示No package python-pip available. 则没有,继续如下操作
2、没有python-pip包就执行命令 yum -y install epel-release
3、执行成功之后,再次执行yum install python-pip
4,、对安装好的pip进行升级 pip install --upgrade pip
至此,pip工具就安装好了。
二、创建一个项目和 python 虚拟环境
使用python的virtualenv创建虚拟环境 。用来在一个系统中创建不同的 python 隔离环境。相互之间还不会影响,而且使用相当简单。
?创建了 venv 环境之后,激活就可以了
?三、安装 python web 框架 — flask
flask 是一个 python web 轻型框架,简洁高效。flask 依赖两个库 werkzeug 和 jinjia2。可采用 pip 方式安装:
?测试我们的 flask 安装是否成功,并使用 flask 写一个简单的 web 服务。
vim run.py
?启动 flask
?此时,用浏览器访问 http://127.0.0.1:5000 就能看到网页显示 hello world!
三、使用 gunicorn 部署 python web
现在我们使用 flask 自带的服务器,完成了 web 服务的启动。生产环境下,flask 自带的 服务器,无法满足性能要求。我们这里采用 gunicorn 做 wsgi容器,用来部署 python,用pip直接安装。
?pip 是python 用来管理包的一个重要工具。每次安装新库后写入一个 requirement 文件里面,既能知道自己安装了什么库,也方便别人部署时,安装相应的库。
?以后每次 pip 安装了新的库的时候,都需freeze 一次。完整保存好requirement文本,重新安装库则只需要执行如下操作:
?当我们安装好 gunicorn 之后,需要用 gunicorn 启动 flask,注意 flask 里面的name里面的代码启动了 app.run(),这个含义是用 flask 自带的服务器启动 app。这里我们使用了 gunicorn,run.py 就等同于一个库文件,被 gunicorn 调用。
?此时,我们可以用 5000 的端口进行访问。
想要结束 gunicorn 只需执行 pkill gunicorn,有时候还需要用 ps 找到 pid 进程号才能 kill。
四、使用nginx
nginx,一个高性能的web服务器。通常用来在前端做反向代理服务器。代理服务,简而言之,一个请求经过代理服务器从局域网发出,然后到达互联网上服务器,这个过程的代理为正向代理。如果一个请求,从互联网过来,先进入代理服务器,再由代理服务器转发给局域网的目标服务器,这个时候,代理服务器为反向代理(相对正向而言)。
1. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
?2. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
?3. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
?4. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和ssl/' target='_blank'>证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
?5. 使用wget下载nginx:
?然后配置Nginx,刚才安装了Nginx之后,我们打开/etc/nginx/conf.d/default.conf,然后修改默认的default.conf为:
?其中server_name就是你的域名,这里用localhost代表通过ip访问,配置好default.conf之后试着启动Nginx!
?ok!到这一步,整个部署过程就完成了!
六、为了方便管理使用supervisor
1.安装 supervisor
?2.添加gunicorn到supervisor中,添加到配置最下面。此处因为使用了python虚拟环境,可先在虚拟环境找到gunicorn地址,使用whereis 如:/usr/local/bin/gunicorn,记住此位置加入到supervisor的command中,如下:
?3、添加nginx进程到supervisor
先新建一个log文件夹
? ?4.启用supervisor管理工具
?至此所有配置结束,试试网站是否如正常运行吧,还可增加supervisor开机自启动(这个未试验,大家试试看吧):
?※supervisor的基本使用命令
?以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/lethon/p/8808368.html
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站