Apache Tomcat 7 + Nginx – IsTomcat Native需要?

这是我的第一个问题。 如果我犯了错误,只需指出,下次我会改进它。 我是Java开发人员,也是Linux的新手。 我使用Tomcat 7在VPS上部署Spring MVC应用程序,并使用nginx作为代理服务器。 在网上冲浪几天之后,我发现它可能是一个很好的组合,而不是使用tomcat和apache。 我将更多地了解nginx可以做什么。 目前,nginx处理来自客户端的SSL,Tomcat位于同一台计算机中,并作为具有HTTP连接器的后端服务器(Tomcat与Nginx之间没有SSL)。 我也使用limit_req模块作为基本的HTTP Flood防护。 当使用Tomcat作为Web服务器时,我也了解APR – Tomcat本地库。 每当我启动我的tomcat,它说我的APR没有find。

  1. 在这种情况下,我需要为Tomcat安装APR lib(nginx + tomcat http连接器)来加速我的服务器吗?
  2. 我是有益的使用代理cachingimg,CSS …
  3. 谁用这个configuration处理静态文件? 如果tomcat,我们需要安装APR,对吧?
  4. 有没有一种方法来保证某些请求模式(如login页面)使用代理时?

我的nginx conf:

server { listen 443 ssl; server_name domain; ssl on; ssl_certificate /etc/nginx/ssl/domain.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; location / { proxy_pass http://localhost:8080; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarfed-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name domain; return 301 https://$server_name$request_uri; } 

我会尽力回答你的问题:

  1. libtcnative让tomcat能够使用本机操作系统界面,这可以加快操作系统相关的任务,所以你不需要它,但我会推荐它! 这里是一个很好的例子配置nginx后面的tomcat: http : //wiki.razuna.com/display/ecp/Razuna+with+Nginx+as+a+front+end+server
  2. 据我所知你必须给nginx一个根目录,所以它可以提供和缓存静态文件,并传递ajax调用到tomcat
  3. 应该用1和2来回答。
  4. 我真的不明白这个问题

不,你不需要tomcat本地。 您只需配置nginx将请求代理到tomcat服务器即可。 使用nginx,您可以配置tomcat服务器集群来实现负载平衡和故障转移。