深入理解NGINX反向代理

NGINX由于占用资源少,并且吞吐/并发量是HTTP SERVER的老大。

一般的站点都会使用NGINX做前端,APACHE做后端。

但如果是一台服务器上做,有点白费心机。

比如WDCP等Linux+Apache+Nginx+Mysql+Php集成扩展。

为什么说白费心机,作者晚点会写个实战B2B模式使用Nginx+Apache站群进行网络群体覆盖的数据来详细说明。

NGINX居然做为反向代理,那么其最大的优势就是可以反向给APACHE、IIS(WINDOWS下作者没写过)等其他后端集,好吧,NGINX可以承载很大的吞吐并发量,特别针对静态数据。

问题来了,现在的站点9成以上使用的是伪静态数据,如果用户不进行缓存,每次的请求存在动态数据,一样会反向给APACHE等后端,APACHE后端同样进行动态操作,然后返回给NGINX,NGINX呈现给用户,这样,NGINX和APACHE等后端同样要占用资源来进行相应的操作,那么如此做,是不是有点多次一举?如果要说GZIP等压缩技术,APACHE完全都是可以胜任的。所以,单一服务器其实根本没必要使用LANMP组合,完全浪费系统资源,虽然APACHE来进行的话,占用资源高,释放慢,但基本都是可以保证相应需求的,而且NGINX反向给APACHE,APACHE释放资源慢的问题一样不会及时解决,那么,单一服务器/VSP有什么必要使用LANMP呢?

如果要说必须使用LANMP的必须条件,作者感觉只有DEDECMS这款程序了,使用的是生成完全的静态文件,就生成的时候数据库瓶颈有点大,生成之后是纯静态文件,这样,NGINX的性能优势就能完全的发挥出来,APACHE只是用户在进行动态操作及后端生成文件的时候占用会资源,但不久后就被释放。

提供给还在为系统架构烦恼的系统架构师们!

发表评论