Nginx concat模块减轻http请求连接数
nginx_concat_module是淘宝开发的基于Nginx减少HTTP请求数量的扩展模块,主要是用于合并减少前段用户Request的HTTP请求的数量。
taobao.com使用concat_module 进行css样式合并
nginx_concat_module是淘宝开发的基于Nginx减少HTTP请求数量的扩展模块,主要是用于合并减少前段用户Request的HTTP请求的数量。
taobao.com使用concat_module 进行css样式合并
在大型网站的架构中,通常需要多台web服务器同时为用户服务,那么,如何直观地了解代理将请求转向了哪台机器呢?
幸运的是,我们可以通过Nginx的add_header指令配合Firefox的插件header spy相结合来实现上面提到的问题。
首先,修改nginx的配置


Nginx的优点:
性能好,可以负载超过1万的并发
功能多,除了负载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配
社区活跃,第三方补丁和模块很多
支持gzip proxy
缺点:
不支持session保持
对后端realserver的健康检查功能效果不好。而且只支持通过端口来检测,不支持通过url来检测
nginx对big request header的支持不是很好,如果client_header_buffer_size设置的比较小,就会返回400bad request页面。
在nginx上的站点添加如下内容:
1.FastCGI worker进程数是否不够
通过命令查看服务器上一共开了多少的 php-cgi 进程
使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求
接近配置文件中设置的数值,表明worker进程数设置太少
后端apache设置:
就可以接收到源ip了。
nginx配置文件常用优化:
worker_processes 8;
nginx进程数,建议按照cpu数目来指定,一般为它的倍数。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。
worker_rlimit_nofile 102400;
这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。