NGINX与Tomcat配置

8

我是Nginx的新手,需要你的帮助。

根据许多论坛上的理解,我们所有的静态页面都储存在Nginx中。当有请求到来时,我必须将该请求传递给Tomcat获取数据,并在Tomcat响应后生成响应。

目前,我只是直接将请求传递给了Tomcat并响应请求。但我认为这不是性能的解决方案。

所以有人可以帮帮我吗?


这在http://serverfault.com/questions/293348/configure-nginx-for-jboss-tomcat中得到了很好的涵盖。 - Adi Dembak
我先参考了它,但是没能理解。 - sanghavi7
1个回答

14

您可以使用proxy_pass映射到您的tomcat服务器端口,例如:如果您的tomcat端口是8080,则您的conf/nginx.conf应该配置如下:

...
http {
    ...

    server {
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

重启Nginx:sbin/nginx -s reload,然后当你可以访问http://127.0.0.1时,请求将被转发到Tomcat。

配置文件通常放置在以下位置:

/etc/nginx/nginx.conf

您不必更改 server.xml。 - Jason
那我需要怎么做呢? - sanghavi7
嗨,Jason,谢谢你的回复,但是有一个问题,你给出的解决方案很好,但是动作没有被触发...我的意思是无论在那些地方触发的动作都没有得到响应,或者每次都回到登录页面。 - sanghavi7
我不明白你的问题,如果请求已经转发到Tomcat,那么你应该关注你的Web服务器代码。1. 如果请求没有响应,请检查Tomcat的状态。2. 每次进入登录页面时,请检查你的代码是否有任何过滤器起作用。 - Jason
在根属性中,需要使用绝对路径还是相对路径? - sanghavi7
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接