/ 中存储网

Windows系统配置Nginx和tomcat整合环境

2013-09-29 10:21:01 来源:kejihao

本文讲了windows环境下的nginx和tomcat的一个简单的配置实例包括dwr的的js特殊的地方配置。当然nginx只有才unix下才能表现出好的性能,主要是io模型等方面。

项目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;

www.th7.cn

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和使用了nginx和gzip的请求对照情况,可以明显发现nginx对静态文件的处理效率非常高。

单独使用tomcat:

/使用nginx和gzip压缩后的请求情况/

摘自 疯狂 --专注java,开源,架构,项目管理