我们知道nginx是家喻户晓的高性能web服务器,flask是一个简单易用的web应用框架。

那么nginx web服务器和web应用框架的区别是什么呢?

首先启动nginx我们可以通过端口访问网页内容,但是flask简单示例也可以通过端口访问一个网页。从此处来说这两个东西似乎没有什么不一样。

别慌,我们从nginx切入!

nginx的静态资源通过html文件夹下的html、css、js等文件实现。

nginx的动态资源通过html、css、js外加flask的python文件,或者html、css、js外加php实现。

故,Flask是Python的一个web开发框架。Nginx是web服务器,它可以作为代理运行在你的云服务器上,通过Nginx可以将外部的请求转发到你云服务器本地的Flask应用(也可以是其他框架写的应用)进行处理并响应。

如果还没理解,我们来举个例子:

假设小王同学搭建了一个网站,使用nginx监听80端口,同时使用flask建立了web服务,暴露为8080端口。

  • 1 当小张访问小王同学的网站时,向xxx域名:80进行请求,nginx则将小张同学的请求转发到flask服务的8080端口
  • 2 flask处理小张同学的请求

事实上nginx不能直接转发到flask端口,而是nginx转发到uwsgiuwsgi再将服务转发给flask。

除此之外nginx还向外提供服务,负载均衡和反向代理功能