猿问

有了CGI为什么还需要Nginx?

查阅了资料后, 有一个笼统的理解, 请指正:

在一个计算机上运行着一个网站, 有如下分工.

1. Nginx 监听计算机的某一个端口(比如80), 等待用户的request2. 远程有一个用户执行了一个request, Nginx监听到了, 然后把这个请求传给CGI程序(比如Python的WSGI)3. CGI程序接受请求, 运行对应的代码, 然后返回一个response

上面的理解对吗? 如果是对的, Nginx为什么要存在呢? 因为好像就算没有Nginx, 直接用CGI接受请求也是可以的样子, 仅仅是为了负载平衡吗?

谢谢.


翻翻过去那场雪
浏览 1140回答 3
3回答

LEATH

Nginx本质是个web server,如果直接用CGI,那么这个CGI就成了web server,逻辑又混乱了。CGI是为了处理动态的逻辑。web server仅仅是一个HTTP服务的实现,只管收一个请求,然后回复一个相应的响应(通常是一个HTML页面,根据请求的不同,也可以是其它的文件),不管任何逻辑。所有的逻辑处理,都是扔给CGI的。比如用户登录的验证等。
随时随地看视频慕课网APP
我要回答