我一直使用的是C#语言进行开发BS程序。IIS是我的WEB服务器。在这里我也不知道IIS到底是什么。因为它可以处理请求同时也能与后端进行交互。
而最近在学习前后分离的时候,看到了Nginx,自己也会一点python,突然看到nginx只是负责处理请求,然后将请求经过处理发送给APP服务器,我感觉可能就是与后台产生联系的服务器,比如uwsgi。那么
我是否可以将IIS能做的事情想成是nginx+uwsgi加起来做的事情。
因为IIS既可以处理请求,也可以以后台交互,我写的C#代码就是发布后就放在了IIS上,还是说
IIS是处理请求的,而真正处理代码那块的是.Net FrameWork?
uwsgi 不是必须的,它只是中间又加了一个“网关协议”而已。
iis 在“网络层面”能做的事,就是 nginx 做的事,不需要考虑 uwsgi 。
我不是太清楚,也许, iis 除了是一个“反向代理服务器”之外,还是一个“容器”。
首先,你要搞清楚网络协议,这里说的,可能包括 http ,及其它网关协议,网关协议有 fastcgi , wsgi 等。
然后,你要明白,网关协议产生的背景,为什么需要搞一个网关协议出来。
接着,去了解一下,你写的应用层代码,部署之后,它本身是处理的什么协议。 C# 不清楚, Python 中,部署不同,应用层直接处理的协议是不同的,有可能是 wsgi ,有可能直接是 http 。
最后,就 nginx 与 Python 这套来说,部署不同,nginx 的角色也不同。它可以直接反向代理,转发 http 。也可以作为 web 服务,转出去是网关协议。