浏览 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/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |