为jboss / tomcatconfigurationnginx

为了使用Apache将stream量传递到端口80上的JBoss / TomCat,我们使用它来安装和configurationmod_jk

有没有相当于nginx? 基本上要所有的端口80stream量传递给JBoss。

对于nginx结帐他们的文档在这里 。 代理支持内置。

在下面的示例中,您将看到特定的80端口stream量正在发送到端口8080上运行的单个 servlet容器。

请注意,如果您想要运行多个后端servlet容器(用于负载均衡,扩展等),您应该查看将stream量发送给最不忙的后端服务器的上游公平模块 。 它不是由默认的w / nginx发货。

 server { listen 80; server_name YOUR_DOMAIN; root /PATH/TO/YOUR/WEB/APPLICATION; location / { index index.jsp; } location ~ \.do$ { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } location ~ \.jsp$ { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } location ^~/servlets/* { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } 

另一种方法就像在LikeApache wiki页面中描述的那样 。

 server { listen myhost:80; server_name myhost; location / { root /path/to/myapp/public; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://myapp:8080; } } 

我也用/ myapp而不是root来testing它,并且将位置/ myapp和proxypass通过http:// myapp:8080 / myapp ;

同样,这个configuration将所有东西都映射到Java应用程序,当你有像Struts这样的MVC框架映射的好url的时候,这是非常有用的。

您不必使用mod_jk,您可以使用mod_proxy,即通过HTTP而不是AJP传递stream量。 如果nginx具有代理能力,那么也应该可以工作。

现在有一个相当新鲜的nginx的 ajp_module。 我没有经验,但我认为会话粘性,特别是持久的后端连接对于Tomcat来说是非常有用的。 对于长时间查询(彗星)或大文件传输(上传),这两种方法(http代理或ajp代理)都是不灵活的。

https://github.com/yaoweibin/nginx_ajp_module#readme

lighttpd BTW有一个通用的代理模块,可以处理FCGI,HTTP,CGIS和AJP13编码。 这看起来像一个更好的方法(但我认为从阅读它具有相同的限制,关于非典型的长/大的请求/响应模式)。

http://redmine.lighttpd.net/wiki/1/Docs:ModProxyCore