2013-04-27 15 views
5

To jest moje pierwsze pytanie. Jeśli popełnię błąd, po prostu wskaż go: & Poprawię go następnym razem. Jestem Java Dev & nowy dla systemu Linux. Wdrażam moją aplikację Spring MVC na VPS z Tomcat 7 i używam nginx jako serwera proxy. Po surfowaniu po Internecie przez kilka dni widzę, że może to być dobra kombinacja zamiast używania tomcat z apache. Mam zamiar dowiedzieć się więcej o tym, co potrafi nginx. W tej chwili obsługa nginx SSL z klienta, Tomcat lokalizuje się w tej samej maszynie & odgrywa rolę serwera zaplecza ze złączem HTTP (brak połączenia SSL między Tomcat & Nginx). Używam również modułu limit_req jako podstawowej ochrony HTTP Flood. Jestem również wiedzieć o APR - natywna biblioteka Tomcat podczas korzystania Tomcat jako serwer sieci web. Ilekroć zaczynam mój tomcat, to powiedział, że moje APR nie znaleziono.Apache Tomcat 7 + Nginx - IsTomcat Native needed?

  1. Czy muszę zainstalować bibliotekę APR dla Tomcata w tym scenariuszu (złącze HTTP ncatx + tomcat), aby przyspieszyć mój serwer?
  2. Korzystam z proxy cache img, css ...
  3. Kto obsługuje pliki statyczne przy tej konfiguracji? Jeśli robi to tomcat, potrzebujemy zainstalowanego APR, prawda?
  4. Czy istnieje sposób zabezpieczenia określonego wzorca żądań (np. Strony logowania) podczas korzystania z serwera proxy?

mój 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; 
} 
+0

Z https://github.com/spring-projects/spring-boot/issues/7376 wynika, że ​​APR jest w większości korzystny dla SSL i może nie być wart zwiększonej złożoności konfiguracji w innych przypadkach. – Vadzim

Odpowiedz

1

Postaram się odpowiedzieć na Twoje pytania:

  1. libtcnative Tomcat daje możliwość korzystania z rodzimych interfejsów OS który może przyspieszyć system operacyjny powiązany zadania, więc nie potrzebujesz , ale polecam! Oto dobry przykład config dla Tomcat za nginx: http://wiki.razuna.com/display/ecp/Razuna+with+Nginx+as+a+front+end+server
  2. O ile mi zrozumieć, trzeba dać nginx katalog główny więc może dostarczyć i pamięć podręczną plików statycznych i przekazywanie połączeń AJAX Tomcat
  3. należy odpowiedzieć z 1. i 2.
  4. i naprawdę nie rozumiem pytania ..
0

nie, nie trzeba kocur rodzimy. Po prostu skonfiguruj serwer nginx, aby proxy wysłał żądanie do serwera tomcat. Za pomocą nginx możesz skonfigurować klaster serwerów tomcat, aby osiągnąć równoważenie obciążenia i przełączanie awaryjne.