5

这是我的第一个问题。如果我犯了错误,请指出,下次我会改进。我是一名 Java 开发人员和 L​​inux 新手。我将我的 Spring MVC 应用程序部署在带有 Tomcat 7 的 VPS 上,并使用 nginx 作为代理服务器。在互联网上冲浪了几天后,我发现它可能是一个很好的组合,而不是使用 apache 的 tomcat。我将进一步了解 nginx 可以做什么。目前,nginx 处理来自客户端的 SSL,Tomcat 位于同一台机器上并作为具有 HTTP 连接器的后端服务器(Tomcat 和 Nginx 之间没有 SSL)。我还使用 limit_req 模块作为基本的 HTTP 洪水保护。我也知道 APR - 使用 Tomcat 作为 Web 服务器时的 Tomcat 本机库。每当我启动我的 tomcat 时,它说我的 APR 没有找到。

  1. 在这种情况下我是否需要为 Tomcat 安装 APR 库(nginx + Tomcat http 连接器)以加快我的服务器速度?
  2. 使用代理缓存 img、css 对我有好处吗?
  3. 谁使用此配置处理静态文件?如果有tomcat,我们需要安装APR,对吗?
  4. 有没有办法在使用代理时只保护某些请求模式(如登录页面)?

我的 nginx 配置:

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;
}
4

2 回答 2

1

我将尝试回答您的问题:

  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. 我真的不明白这个问题..
于 2013-06-17T15:04:27.063 回答
0

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

于 2013-09-27T06:55:05.793 回答