Định cấu hình Tomcat với Apache bằng cách sử dụng Mô-đun proxy và phiên dính


Cấu hình Tomcat Load Balancer với máy chủ web Apache bằng Mod Proxy khá dễ dàng.

Nó dễ dàng khi bạn làm theo trình tự, và tất cả đều tốt. Tôi đã liệt kê từng bước về cách định cấu hình Apache với Tomcat để định cấu hình Load Balancer bằng Mod Proxy.

Có cân bằng tải luôn được khuyến nghị trong môi trường sản xuất để có sẵn tốt hơn.

Cấu hình máy chủ web Apache

  • Kích hoạt proxy_module, proxy_balancer_module và proxy_http_module trong httpd.conf của máy chủ web Apache

Các mô-đun LoadModule proxy_module / mod_proxy.so
LoadModule proxy_balancer_module mô-đun / mod_proxy_balancer.so
Các mô-đun LoadModule proxy_http_module / mod_proxy_http.so

Thêm proxy vượt qua cùng với tên bộ cân bằng cho gốc ngữ cảnh ứng dụng.

Trong ví dụ này, tôi có một đường dẫn proxy làm ví dụ và tên bộ cân bằng như mycluster.

Rất quan trọng để bao gồm dính chặt vì không có tùy chọn này sẽ phân phối cùng một yêu cầu cho nhiều máy chủ Tomcat và bạn sẽ gặp vấn đề hết hạn phiên trong một ứng dụng.

Tắt ProxyRequests
Trình cân bằng proxyPass / ví dụ: // mycluster stickysession = JSESSIONID
Trình cân bằng ProxyPassReverse / example: // mycluster stickysession = JSESSIONID

BalancerMember http: // localhost: 8080 / example route = server1
BalancerMember http: // localhost: 8090 / example route = server2

Như bạn có thể thấy trong cấu hình ở trên, tôi đã thêm một tuyến đường trong BalancerMember để giá trị tuyến đường có thể được thêm vào ID phiên.

Bây giờ, hãy để cấu hình Apache để in JSESSIONID trong nhật ký truy cập.

  • Thêm sau trong chỉ thị LogFormat

% {JSESSIONID} C

Ví dụ:

LogFormat "% h% l% u% t "% r" %>s% b "% {Người giới thiệu} i" "% {Tác nhân người dùng} i""% {JSESSIONID} C"" kết hợp

  • Khởi động lại máy chủ web Apache

Cấu hình Tomcat

Bạn phải định cấu hình phiên bản tomcat có cùng id tuyến đường như bạn đã làm trong BalancerMember ở trên.

  • Thêm tham số jvmRoute trong server.xml của Tomcat. Điều này phải được thêm vào thẻ Tên động cơ.

Ví dụ Tomcat được cấu hình với 8080 Hải cảng

Ví dụ Tomcat được cấu hình với 8090 Hải cảng

  • Khởi động lại máy chủ Tomcat

xác minh

Tạo một số tải trên ứng dụng và kiểm tra nhật ký truy cập của máy chủ apache để đảm bảo yêu cầu của bạn được chuyển đến chỉ một trường hợp tomcat.

Bạn cũng sẽ nhận thấy ID phiên của bạn được gắn vào tuyến đường như trong ví dụ dưới đây.

Ví dụ:

127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 02 +0800] "POST / ví dụ / servlets / servlet / RequestParamExample HTTP / 1.1" 200 662 "http: // localhost / example / servlets / servlet / RequestParamExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 06 +0800] "NHẬN / ví dụ / servlets / servlet / RequestInfoExample HTTP / 1.1" 200 693 "http: // localhost / example / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 17 +0800] "NHẬN /examples/servlets/reqinfo.html HTTP / 1.1" 200 3607 "http: // localhost / example / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 20 +0800] "NHẬN / ví dụ / servlets / servlet / SessionExample HTTP / 1.1" 200 1124 "http: // localhost / example / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 26 +0800] "POST / ví dụ / servlets / servlet / SessionExample HTTP / 1.1" 200 1142 "http: // localhost / example / servlets / servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 28 +0800] "NHẬN / ví dụ / servlets / servlet / SessionExample? Dataname = fda&datavalue = fadaf HTTP / 1.1" 200 1159 "http: // localhost / example / servlets / servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B4EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 32 +0800] "NHẬN / ví dụ / servlets / servlet / SessionExample? Dataname = foo&datavalue = thanh HTTP / 1.1" 200 1174 "http: // localhost / example / servlets / servlet / SessionExample? dataname = fda&datavalue = fadaf" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 tháng 9 năm 2013: 10: 02: 36 +0800] "NHẬN / ví dụ / servlets / servlet / RequestHeaderExample HTTP / 1.1" 200 1423 "http: // localhost / example / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Tắc kè / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"

Tôi hy vọng điều này sẽ giúp bạn trong việc định cấu hình Tomcat Load Balancer với Apache Mod Proxy và session Stick.

Nếu muốn tìm hiểu về quản trị Tomcat thì hãy kiểm tra cái này khóa học trực tuyến.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me