论坛首页 Java企业应用论坛

Nginx Tomcat Proxy整合配置

浏览 4668 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-03-17  
Nginx Tomcat Proxy整合配置

     对于Nginx与Tomcat的集成,其实现方法类似于 apache+jk 与Tomcat的集成实现,nginx 基于 HttpProxyModule 模块来进行内部请求及数据传输。
     打开  /usr/local/nginx/conf/nginx.conf 文件,在 http{} 中加入
include    /usr/local/nginx/conf/proxy.conf;

     然后在 /usr/local/nginx/conf/ 目录中建立文件 proxy.conf,将以下配置信息加入该文件中:
#!nginx (-) 
# 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   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffers           32 4k;

     对于以上的参数含意可以查看 http://wiki.nginx.org/HttpProxyModule,可根据实际情况进行调整。
     到此,基本上主要配置已经完成,可以通过 /usr/local/nginx/sbin/nginx -t 来检查配置是否配置正确。
     最后一步就是根据实际项目环境的配置,在 nginx.conf 中描述哪些 url 是由 nginx 来处理,哪些由 nginx转发给tomcat进行处理,以下是我里环境的配置示例:
        location / {
            ssi    on;
            ssi_silent_errors on;
            ssi_types text/shtml;
            root   /Applications/XAMPP/htdocs;
            index  index.html index.htm index.shtml;
        }

        location ~ ^/(search|edu)/ {
            proxy_pass http://127.0.0.1:8080;
        }

    基于 location match表达式规则优先顺序,当在 url 中匹配到  /search/ 或者 /edu/ 时,虽然 location / 代表的是所有url, 但是 ~^ 的匹配优先级比 / 要高,所以这时候nginx会优先采用第二条location,并将该URL的访问转交给tomcat进行处理。对于 location的详细配置这里不做说明,可以参考:http://www.tech126.com/nginx-location-rule/
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics