nginx和tomcat负载简单配置(windows环境)

本文讲了windows环境下的nginxtomcat的一个简单的配置实例包括dwr的的js特殊的地方配置。当然nginx只有才unix下才能表现出好的性能,主要是io模型等方面。
关于linux下的配置可见于网上的这篇文章http://bbs.linuxtone.org/forum.php?mod=viewthread&tid=394
 项目demo的下载:/Files/freeman1984/ndemo.rar,里面包含了简单的测试项目和配置文件,以及nginx的参考文档一份。

项目单独在tomcat下访问路径为: http://localhost:8088/ndemo/server.jsp

Nginx下访问路径:http://www.joe.com/server.jsp  ,其中(www.joe.com是我在hosts文件里面配置的)

一下是nginx的配置:


Nginx.conf
内容:

 

# user nobody;

worker_processes 
2 # 进程数,和cpu个数相关

pid        logs
/ nginx . pid;

events {

    worker_connections 
1024 ; # 每个进程的支持的连接数

}

 

http {

    include       mime
. types;

    default_type application
/ octet - stream;

    
# 日志部分

    log_format main  
' $remote_addr - $remote_user [$time_local] "$request"  '

                      
' $status $body_bytes_sent "$http_referer"  '

                      
' "$http_user_agent" "$http_x_forwarded_for" ' ;

    sendfile        on;

    

    keepalive_timeout 
65 ;

 

    include gzip
. conf; # 启动数据压缩

 

     

    server {

        
listen         80 ;

        server_name www
. joe . com; # 此部分测试的时候可以在host文件里面加上

        root   E
:\ apache - tomcat - 6.0 . 32 \ webapps; # 项目路径,直接和后台使用一个目录

        error_page 
404   / ndemo / 404 . html;

        error_page   
500   502   503   504   / ndemo / 50x . html;

       

        location 
~   ^/ (WEB - INF) /  {

            deny all;

        }

        
# 此部分主要是dwr的js有写是服务器动态生成的,不能交给nginx处理,这样会出现404,需要单独处理并交给服务器处理。

         location 
/ ndemo / dwr /  {    

             proxy_pass http
:// localhost : 8088 / ndemo / dwr / ;

             include proxy
. conf;

        }

# 其他的静态文件处理dwr的都交给nginx处理

        location 
~   \.


(htm
| html | gif | jpg | jpeg | png | ico | rar | css | js | zip | txt | flv | swf | doc | ppt | xls | pdf)$ {

            access_log off;

            expires 24h;

        }

       
# 注意我的上下文是ndemo

       location 
/ ndemo /  {

             proxy_pass http
:// localhost : 8088 / ndemo / ;

             include proxy
. conf;

        }

        
# 访问根目录下的路径也就是webapp,默认跳转到ndemo项目的路径下,也就是跳转到上面的路径

        location 
/  {

             rewrite (
.* )$  / ndemo$ 1  permanent;

        }

       location 
~   ^/ NginxStatus { # nginx的状态监控需要basic密码保护,可使用apache的工具生成,方式可见于http://www.blogjava.net/freeman1984/articles/363943.html}

            stub_status on;

            access_log off;

            auth_basic              
" valid-user " ;

            auth_basic_user_file ewds_pw;

       }

    }

 

}

 

proxy.conf

 

proxy_redirect          off;

proxy_set_header        Host 
$host ;

proxy_set_header        X
- Real - IP  $remote_addr ;

proxy_set_header        X
- Forwarded - For   $proxy_add_x_forwarded_for ;

client_max_body_size    10m;

client_body_buffer_size 128k;

proxy_connect_timeout   
300 ;

proxy_send_timeout      
300 ;

proxy_read_timeout      
300 ;

proxy_buffer_size       4k;

proxy_buffers           
4  32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

 

gzip.conf

 

gzip            on;

gzip_min_length     
1024 ;

gzip_types      text
/ plain text / css application / x - javascript; 

 

顺便展示单独使用tomcat和使用了nginxgzip的请求对照情况,可以明显发现nginx对静态文件的处理效率非常高。

 

单独使用tomcat

 

使用nginxgzip压缩后的请求情况

 

你可能感兴趣的:(nginx和tomcat负载简单配置(windows环境))