您的位置:首页 > 运维架构 > Linux

Flask项目部署在Centos服务器上

2020-02-02 00:53 711 查看

在Centos上部署flask服务器

一、安装python3.6.5

1.在阿里云申请服务器,起初测试使用30天使用的服务器。

2.在服务器上安装python3,让其能够适应当下大多数程序需要的python3环境,其中的yum以及python,pip等命令需要通过软连接来重新定义,以便区分安装好的python3和系统自带的python2.

教程网上可以说是五花八门,我选择了一个相对简洁明了的博客来实现安装。
在你点击链接之前,可以先了解一下会使用到的vim编辑器
i 键为进入编辑模式,esc退出
:wq 为保存并退出
https://blog.csdn.net/t8116189520/article/details/81976755

二、安装虚拟环境

1.虚拟环境的使用是为了防止服务器上项目过多导致环境混乱,即有可能会出现python2与python3之间的冲突或者项目使用的框架不一致,所以虚拟环境是有必要的。

2.具体的安装网上教程也是大把大把,我也选了一个相对简洁易懂的

https://www.cnblogs.com/shangchunhong/p/9790147.html

其中有一个使用的就是,python项目所用到的依赖包文件生成安装,其命令分别是

pip freeze >requirements.txt #生成
pip install -r requirements.txt #安装
#打开虚拟环境venv_name
workon venv_name

三、配置flask项目

在网上大多数的人都会使用Nginx 或者其他的http服务器,其实python的强大就在于他有许多完善的库可以供你使用,所以完全可以通过pip install 来实现基础测试的项目,一开始安装呢么多东西原理也理解不过来,所以我直接使用的WSGIServer来实现服务器的处理。

其实一开始对于网页可以这么理解

1.你点击一个链接或者输入一个网址,其实就是通过http请求到了服务器。

2.服务器在运行时会一直监听web项目开启的那个地址和端口,一监听到请求通过处理之后就会执行相关代码。

3.如果没有权限控制,那么只要请求的地址正确,服务器就会返回这个请求生成一个http文档。

4.浏览器接收到http文档(html文档形式),将其显示成网页。

这里拿百度百科上的介绍来解释WSGI

PythonWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是
Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性
方面的目标。
WSGI 没有官方的实现, 因为WSGI更像一个协议. 只要遵照这些协议,WSGI应用(Application)
都可以在任何服务器(Server)上运行, 反之亦然。

所以,最简单的flask项目代码可以写为

from flask import Flask
from gevent import monkey
monkey.patch_all()
from gevent.pywsgi import WSGIServer

app = Flask(__name__)

if __name__ == '__main__':
# app.run(host='0.0.0.0',port=8081,debug=True)
server = WSGIServer(('x.x.x.x',80), app)
server.serve_forever()

这里提供一个查看服务器主机监听端口命令

#在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是:

netstat -tlunp

其中的"x.x.x.x"填为服务器内网ip,端口号可以自己设置,如果80占用了的话可以自定义其他端口。

这里还要提一个阿里云的服务器问题,他的安全组规则很严格,让其他客户端通过公网访问的端口都需要添加规则,贴一张图片解释一下。

[外链图片转存失败(img-PEmay2pG-1566876522198)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\1566875738898.png)]

这里的x.x.x.x是电脑外网登录的IP地址,不是主机的IP地址(即用ipconfig查找出来的是没有用的),需要直接百度本机ip就可以了,或者去这个网址http://www.ip138.com/。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
辞树灬 发布了3 篇原创文章 · 获赞 0 · 访问量 2301 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: