1、nginx和apache的动静分离配置:

把下面配置放到nginx配置文件相应的server { }里面,如果使用其他端口号,改一下就行:        
     
#所有php的动态页面均交由apache处理            
location ~ \.(php)?$ {            
proxy_set_header Host $host;            
proxy_set_header X-Real-IP $remote_addr;            
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            
proxy_pass http://127.0.0.1:88;            
}            
#所有静态文件由nginx直接读取不经过apache            
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$            
{ expires 15d; }            
location ~ .*\.(js|css)?$            
{ expires 1h; }

如果之前设置了FastCGI的,把下面的配置注释掉:        
       
     
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000            
#            
#location ~ \.php$ {            
# root /var/www/html;            
# fastcgi_pass 127.0.0.1:9000;            
# fastcgi_index index.php;            
# include fastcgi.conf;            
#}
         
     
重启nginx就生效,如图所示,标头显示nginx,phpinfo里面显示是apache,说明动静分离生效。

Nginx与Apache、Tomcat、Resin动静分离核心配置_第1张图片

2、nginx和tomcat、resin的动静分离配置:

同上,把下面配置放到nginx配置文件相应的server { }里面:        
     
#所有jsp的页面均交由tomcat或resin处理            
location ~ .(jsp|jspx|do)?$ {            
proxy_set_header Host $host;            
proxy_set_header X-Real-IP $remote_addr;            
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            
proxy_pass http://127.0.0.1:8080;            
}            
#所有静态文件由nginx直接读取不经过resin            
location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$            
{ expires 15d; }            
location ~ .*.(js|css)?$            
{ expires 1h; }

更多的nginx配置和模块详解请参考官方wiki:http://wiki.nginx.org/Main


   

来源: http://www.ha97.com/5119.html