0
0
Lập trình
NM

Cách thiết lập cụm Tomcat trên Linux

Đăng vào 2 tháng trước

• 3 phút đọc

Giới thiệu

Thiết lập cụm Tomcat trên Linux là một bước quan trọng để tối ưu hóa hiệu suất và tăng tính khả dụng cho các ứng dụng web. Trong bài viết này, chúng ta sẽ tìm hiểu cách thiết lập hai nút Tomcat trong một cụm, từ cài đặt Java cho đến cấu hình cụm và kiểm tra tính năng sao chép phiên.

Yêu cầu cần thiết

Cài đặt Java

Trước tiên, bạn cần cài đặt Java trên hệ thống. Bạn có thể tải xuống phiên bản Java mà bạn cần từ trang web chính thức của Oracle hoặc OpenJDK. Sau khi cài đặt xong, hãy thiết lập biến môi trường JAVA_HOME trong tệp ~/.bashrc như sau:

bash Copy
export JAVA_HOME=/opt/jdk1.8.0_451

Cài đặt Tomcat

Tiếp theo, bạn cần cài đặt Apache Tomcat. Tải xuống phiên bản Tomcat mà bạn muốn từ trang web chính thức và giải nén nó vào thư mục /opt. Sau đó, thiết lập biến môi trường CATALINA_HOME trong tệp ~/.bashrc:

bash Copy
export CATALINA_HOME=/opt/apache-tomcat-9.0.109

Tạo hai phiên bản Tomcat

Chúng ta sẽ tạo hai phiên bản Tomcat, mỗi phiên bản sẽ đóng vai trò là một nút trong cụm.

Tạo thư mục cho Tomcat1

Đầu tiên, tạo một thư mục rỗng cho phiên bản Tomcat đầu tiên:

bash Copy
$ mkdir -p /apps/myapp/clus1/tomcat1/

Sao chép thư mục cấu hình

Tiếp theo, sao chép các thư mục cấu hình từ CATALINA_HOME vào thư mục của Tomcat1:

bash Copy
$ cp -R $CATALINA_HOME/conf /apps/myapp/clus1/tomcat1/
$ cp -R $CATALINA_HOME/webapps /apps/myapp/clus1/tomcat1/

Tạo thư mục logs

Chúng ta cũng cần tạo một thư mục rỗng cho các log:

bash Copy
$ mkdir -p /apps/myapp/clus1/tomcat1/logs

Tạo script khởi động và dừng

Cuối cùng, tạo các script để khởi động và dừng Tomcat1, thiết lập CATALINA_BASE cho phù hợp:

bash Copy
$ cat /apps/myapp/clus1/tomcat1/startup.sh
export CATALINA_BASE="/apps/myapp/clus1/tomcat1"
cd $CATALINA_HOME/bin
TITLE=tomcat1
./startup.sh $TITLE

$ cat /apps/myapp/clus1/tomcat1/shutdown.sh
export CATALINA_BASE="/apps/myapp/clus1/tomcat1"
cd $CATALINA_HOME/bin
./shutdown.sh

Thay đổi quyền thực thi

Đảm bảo các script có quyền thực thi:

bash Copy
$ chmod u+x /apps/myapp/clus1/tomcat1/startup.sh
$ chmod u+x /apps/myapp/clus1/tomcat1/shutdown.sh

Kiểm tra hoạt động

Kiểm tra xem Tomcat1 có khởi động thành công không:

bash Copy
$ /apps/myapp/clus1/tomcat1/startup.sh

Bạn sẽ thấy thông báo rằng Tomcat đã khởi động thành công.

Tạo Tomcat2

Bây giờ, chúng ta sẽ tạo Tomcat2. Lưu ý rằng chúng ta cần sử dụng các cổng khác nhau cho Tomcat2 để tránh xung đột. Thay đổi các cổng trong tệp server.xml:

  • Thay cổng 8080 thành 9080 cho kết nối:
xml Copy
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" />
  • Thay cổng 8005 thành 9005 cho dừng:
xml Copy
<Server port="9005" shutdown="SHUTDOWN">

Khởi động Tomcat2

Lặp lại các bước tương tự để tạo script khởi động và dừng cho Tomcat2. Đảm bảo rằng bạn đã thay đổi cổng cho Tomcat2.

Kích hoạt cụm

Để kích hoạt cụm, bạn cần sửa đổi tệp server.xml cho cả hai Tomcat. Nhấn vào phần tử Cluster dưới Engine:

xml Copy
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

Khởi động lại các Tomcat để áp dụng thay đổi.

Kiểm tra kết nối giữa các Tomcat

Sử dụng lệnh dưới đây để kiểm tra xem các Tomcat có đang lắng nghe trên các cổng đúng không:

bash Copy
$ sudo netstat -nlp | grep -E '8080|9080'

Kích hoạt sao chép phiên

Để các phiên có thể được sao chép giữa các nút, bạn cần thêm phần tử distributable trong tệp web.xml của ứng dụng web:

xml Copy
<distributable/>

Kiểm tra sao chép phiên

Sử dụng curl để kiểm tra sao chép phiên giữa Tomcat1 và Tomcat2:

bash Copy
$ curl http://localhost:8080/examples/servlets/servlet/SessionExample

Sử dụng cookie JSESSIONID để xác minh sự tồn tại của phiên trên Tomcat2:

bash Copy
$ curl --cookie "JSESSIONID=104F520BB401ED856048700D302D255A" http://localhost:9080/examples/servlets/servlet/SessionExample

Các lưu ý khi triển khai cụm Tomcat

Thực hành tốt nhất

  • Sao lưu dữ liệu: Đảm bảo sao lưu các tệp cấu hình trước khi thay đổi.
  • Theo dõi hiệu suất: Sử dụng công cụ giám sát để theo dõi hiệu suất của cụm Tomcat.

Những cạm bẫy thường gặp

  • Cổng xung đột: Đảm bảo rằng các cổng không bị trùng lặp giữa các nút.
  • Cấu hình sai: Kiểm tra cấu hình để đảm bảo không có lỗi.

Mẹo hiệu suất

  • Sử dụng bộ nhớ cache: Tăng tốc độ truy cập dữ liệu bằng cách sử dụng bộ nhớ cache.
  • Tối ưu hóa cấu hình JVM: Tinh chỉnh các tham số JVM để cải thiện hiệu suất.

Giải quyết sự cố

  • Tomcat không khởi động: Kiểm tra log để tìm hiểu nguyên nhân.
  • Vấn đề sao chép phiên: Đảm bảo rằng phần tử distributable đã được thêm đúng cách.

Kết luận

Bài viết này đã hướng dẫn bạn cách thiết lập cụm Tomcat trên Linux, từ cài đặt cho đến cấu hình và kiểm tra tính năng sao chép phiên. Hãy thử nghiệm và áp dụng những kiến thức này vào dự án của bạn để nâng cao hiệu suất ứng dụng.

Nếu bạn gặp khó khăn hoặc có câu hỏi, hãy để lại ý kiến của bạn dưới bài viết này nhé!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào