当我们运行下面的时,我们使用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请求时,写入以下内容:
上一篇:虚拟机备份还原
下一篇:web项目部署到云服务器