2013-04-27 31 views
5

đây là câu hỏi đầu tiên của tôi. Nếu tôi phạm sai lầm, chỉ cần nêu ra & tôi sẽ cải thiện nó lần sau. Tôi là người dùng Java Dev & mới cho Linux. Tôi triển khai ứng dụng Spring MVC trên VPS với Tomcat 7 và sử dụng nginx làm máy chủ proxy. Sau khi lướt qua Internet trong nhiều ngày, tôi thấy nó có thể là một sự kết hợp tốt thay vì sử dụng tomcat với apache. Tôi sẽ tìm hiểu thêm về những gì nginx có thể làm. Hiện tại, nginx xử lý SSL từ máy khách, Tomcat nằm trong cùng một máy & phát dưới dạng máy chủ phụ trợ với trình kết nối HTTP (không có SSL giữa Tomcat & Nginx). Tôi cũng sử dụng mô-đun limit_req làm bảo vệ HTTP Flood cơ bản. Tôi cũng biết về thư viện gốc của APR - Tomcat khi sử dụng Tomcat làm máy chủ web. Bất cứ khi nào tôi bắt đầu tomcat của tôi, nó nói rằng APRis ​​của tôi không tìm thấy.Apache Tomcat 7 + Nginx - IsTomcat Native cần thiết?

  1. Tôi có cần cài đặt APR lib cho Tomcat trong trường hợp này (nginx + tomcat http connector) để tăng tốc độ máy chủ của tôi không?
  2. Tôi có lợi khi sử dụng bộ nhớ cache proxy img, css ...
  3. Ai xử lý tệp tĩnh với cấu hình này? Nếu tomcat, chúng ta cần cài đặt APR, phải không?
  4. có cách nào để bảo đảm một số mẫu yêu cầu nhất định (như trang đăng nhập) khi sử dụng proxy không?

conf nginx tôi:

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

Từ https://github.com/spring-projects/spring-boot/issues/7376 có vẻ như APR hầu như được hưởng lợi cho SSL và có thể không đáng để tăng mức độ phức tạp của thiết lập trong các trường hợp khác. – Vadzim

Trả lời

1

tôi sẽ cố gắng trả lời câu hỏi của bạn:

  1. libtcnative cho tomcat khả năng sử dụng có nguồn gốc OS giao diện mà có thể tăng tốc độ hệ thống hoạt động liên quan nhiệm vụ, vì vậy bạn không cần nó nhưng tôi muốn giới thiệu nó! Dưới đây là một ví dụ điển hình cấu hình cho tomcat đằng sau nginx: http://wiki.razuna.com/display/ecp/Razuna+with+Nginx+as+a+front+end+server
  2. Theo như tôi hiểu bạn phải từ bỏ nginx một thư mục gốc để nó có thể cung cấp và bộ nhớ cache file tĩnh và vượt qua các cuộc gọi ajax để tomcat
  3. cần được trả lời với 1. và 2.
  4. tôi không thực sự hiểu câu hỏi ..
0

không, bạn không cần phải tomcat bản địa. Bạn chỉ cần cấu hình nginx để proxy yêu cầu đến máy chủ tomcat. Với nginx, bạn có thể cấu hình cụm máy chủ tomcat để đạt được cân bằng tải và chuyển đổi dự phòng.

Các vấn đề liên quan