当前位置:首页 > 云服务器 > 正文

flask项目部署到阿里云服务器


一、阿里云服务器部署flask项目

当我们运行下面的时,我们使用Flask自带的服务器来完成Web服务的启动。在生产环境中,Flask自带的服务器无法满足性能需求。我们使用Gunicorn作为wsgi容器来部署Flask程序。Gunicorn(绿色独角兽)是一个PythonWSGIHTTP服务器。Ruby独角兽项目的港口。Gunicorn服务器兼容不同的Web框架,实现非常简单,资源消耗轻。Gunicorn直接用命令启动,不需要写配置文件。它比uWSGI简单得多。

区分几个概念:

WSGI:全称是WebServerGatewayInterface(Web服务器网关接口),它是一种规范,构成了Web服务器与Web应用程序之间的接口。它充当Web服务器和Web应用程序框架之间的桥梁。

uwsgi:是一种传输协议,用于定义传输的信息类型。

uWSGI:这是一个实现uwsgi协议的WSGI的Web服务器。

我们的部署方式:nginx+gunicorn+flask

在web开发中,部署方式大致类似。简单来说,前端代理使用Nginx主要是进行卸载、转发、负载均衡以及分担服务器的压力。Nginx部署简单,消耗内存少,而且价格便宜。Nginx既可以用作正向代理,也可以用作反向代理。

转发代理:请求从本地网络通过代理服务器发出,然后到达互联网上的服务器。

特点:服务器不知道真正的客端是谁。

反向代理:请求从互联网发出,首先进入代理服务器,然后转发到本地网络服务器。

特点:客户端不知道真正的服务器是谁。

区别:正向代理的对象是客户端。反向代理的对象是服务器。

显示命令行选项:成功安装gunicorn后,可以通过命令行查看gunicorn的使用信息。

直接执行:

指定进程和端口号:-w:表示进程(worker)。-b:指定绑定IP地址和端口号(bind)。--access-logfile:指定指定日志文件的路径

作为后台守护进程运行:

阿里云服务器默认安装在/user/sbin/目录下。进入目录并启动ngnix:

在Ubuntu上设置Nginx也非常容易。不要修改默认的文件,只需替换/etc/nginx/sites-available/default文件。
创建一个新的默认文件并添加以下内容:

编辑完成后,重新启动nginx。

在Ubuntu上配置Nginx的另一种方法是导航到/etc/nginx/conf.d文件夹并创建一个新的文件(xxx可以是项目名称,前提是这是一个新的文件)。.conf),写入以下内容:

当需要监听https请求时,写入以下内容:


二、flask项目在Linux上部署有两种部署方式:
目录必须包含程序入口或
创建文件
命令行:
启动成功后会有一个.pid文件