JavaRush /Blog Java /Random-VI /Tổng quan về máy chủ ứng dụng và tất nhiên là cả Tomcat
eGarmin
Mức độ

Tổng quan về máy chủ ứng dụng và tất nhiên là cả Tomcat

Xuất bản trong nhóm
Các Javarashians thân mến, tôi muốn xem xét điều gì trong bài viết này? Tôi chỉ muốn trình bày tổng quan ngắn gọn về bộ phận máy chủ ứng dụng ít nhất đáng được quan tâm vì chúng miễn phí và mã nguồn của chúng có sẵn. Tôi sẽ cho rằng hệ thống của bạn tương tự như của tôi. Tôi có Windows 7 64 bit, ngoài ra tôi còn có JDK 1.7 và JDK 1.8, và biến môi trường JAVA_HOME đề cập đến biến sau trong số chúng. Trong trường hợp của tôi, điều này có nghĩa là đường dẫn JAVA_HOMEC:\Program Files\Java\jdk1.8.0_31. Tổng quan về máy chủ ứng dụng và tất nhiên là cả Tomcat - 1Để khi lặp lại những gì được mô tả bên dưới, bạn sẽ có ít câu hỏi nhất có thể như “tại sao nó không hiệu quả với tôi, có thể tôi đã làm sai điều gì đó?”, Tôi sẽ cố gắng mô tả mọi hành động mà tôi đã làm trong ngày của mình. máy móc. Bắt đầu…

Đúc, tức là lựa chọn

Đầu tiên chúng ta cần chọn máy chủ ứng dụng để xem xét. Để thực hiện việc này, hãy xem bài viết Wikipedia So sánh các máy chủ ứng dụng (tiếng Anh, vì không có máy chủ nào khác). Có một dấu hiệu cho thấy một loạt các máy chủ ứng dụng, nhưng điều chúng tôi quan tâm chỉ là những máy chủ một mặt là nguồn mở và mặt khác hỗ trợ đầy đủ JavaEE, tức là. Cột tương thích Java EE trong bảng này phải chứa một dòng thuộc loại Full Platform . Từ danh sách chứa cả WildFlyJBoss này, bạn có thể loại bỏ ngay cái sau, bởi vì nó chỉ là một cái tên cũ và những phiên bản cũ của WildFly mà thôi . Kết quả là chúng tôi nhận được danh sách các máy chủ sau đây đáng được chúng tôi chú ý:
  1. Glassfish (không phải độc quyền, mà là của cộng đồng glassfish.java.net , nhưng được Tập đoàn Oracle hỗ trợ đến mức nếu bạn cần SDK javaEE từ trang web của Oracle thì họ sẽ cung cấp cho bạn máy chủ ứng dụng này, nếu không thì không có cách nào khác)
  2. (Red Hat) WildFly (trước đây là JBoss)
  3. (Apache) Geronimo
  4. (Apache) Tomcat (đây chỉ là một thùng chứa servlet, không phải máy chủ ứng dụng, nhưng nó là tiêu chuẩn mà trên đó, nếu chương trình được viết chính xác thì chắc chắn nó sẽ hoạt động. Trên các máy chủ khác, chương trình có thể được viết chính xác về mặt JavaEE, nhưng mọi thứ sẽ hoạt động, nó sẽ không chính xác hoặc hoàn toàn không. Tôi đang nói về Geronimo, những trục trặc của nó có thể được thảo luận trong một thời gian dài)
Bây giờ hãy nâng cấp các máy chủ này. Khi có thể chọn giữa phiên bản 32 và 64 bit, tôi đã chọn một trình lưu trữ cho hệ thống 64 bit của mình.

Cài đặt

Về mặt cài đặt, mọi thứ đều đơn giản và đối với mỗi máy chủ được chọn, việc cài đặt chỉ đơn giản là giải nén kho lưu trữ. Ví dụ: tôi đã tạo thư mục AppServers trên máy tính để bàn của mình, nơi tôi bắt đầu giải nén mọi thứ.

Cài đặt

Hãy bắt đầu thiết lập máy chủ bằng cách thiết lập cổng HTTP mà nó sẽ hoạt động trên đó. Sau đó chúng ta sẽ đăng ký làm quản trị viên máy chủ. Mỗi máy chủ có các tính năng cấu hình riêng. Đối với Tomcat. Chúng ta vào thư mục có tomcat đã giải nén, sau đó là thư mục conf , file server.xml . Chúng tôi tìm thấy số 8080 (cổng http mặc định) trong tệp này và thay đổi nó thành bất cứ thứ gì chúng tôi muốn. Tôi đặt nó thành 9713 . Để đăng ký làm quản trị viên máy chủ, bạn cần mở tệp tomcat-users.xml trong cùng một thư mục . Trong đó, trước thẻ đóng </tomcat-users>, hãy thêm thẻ sau <user username="egarmin" pass="1" Roles="manager-gui,manager-script,manager-status,manager-jmx"/ > trong phần của bạn, tôi đã chỉ định số lượng quyền quản trị (vai trò) tối đa cho các vai trò. Điều này sẽ cho phép tôi triển khai các ứng dụng thông qua gui và thông qua kết nối từ xa. Bây giờ hãy khởi chạy tomcat. Vào thư mục có tomcat đã giải nén, sau đó vào thư mục bin và chạy file startup.bat . Vào trình duyệt tại http://localhost:9713 . Mọi thứ sẽ ổn và chúng ta sẽ nhìn thấy con hổ. tomcatBây giờ hãy kiểm tra xem bạn có quyền truy cập vào bảng quản trị hay không. Để thực hiện việc này, hãy truy cập http://localhost:9713/manager , nhập thông tin đăng nhập và mật khẩu đã chọn và giành quyền truy cập. Quản trị viên trong TomcatHOAN HÔ! Bạn có thể tạm thời vô hiệu hóa Tomcat bằng cách đóng bảng điều khiển nơi nó đang chạy. Đối với cá thủy tinh. Đi tới thư mục chứa cá thủy tinh đã giải nén , sau đó đến thư mục con cá thủy tinh , sau đó đến thư mục con miền , rồi đến thư mục miền1 . Vào thư mục config và tìm file domain.xml . Ở đó, chúng tôi cũng tìm số 8080 (số này thường là cổng HTTP mặc định cho máy chủ ứng dụng và bộ chứa servlet) và thay đổi nó thành bất cứ thứ gì chúng tôi muốn. Tôi đặt nó thành 9813 . Hãy phóng cá thủy tinh. Chuyển đến thư mục chứa cá thủy tinh đã giải nén, sau đó đến thư mục con cá thủy tinh , sau đó đến thư mục bin . Chạy tệp startserv.bat . Trên trình duyệt, nhập địa chỉ http://localhost:9813 . Trên trang xấu xí xuất hiện với tiêu đề GlassFish Server, hãy tìm liên kết để đi đến Bảng điều khiển quản trị và nhấp vào nó. Đăng nhập lần đầu vào GlassFishTiếp theo, khi đến trang đẹp mắt của bảng điều khiển quản trị được xây dựng trên JSF, hãy nhấp vào mục Thay đổi mật khẩu quản trị viên Quản trị viên trong GlassFish và nhập mật khẩu chúng tôi cần cho người dùng quản trị viên , sau đó xác nhận nó và nhấp vào nút Lưu. Thay đổi mật khẩu của bạn trong GlassFishSau đó, khi đăng nhập vào bảng điều khiển quản trị, bạn sẽ cần nhập thông tin đăng nhập quản trị viên và mật khẩu đã chỉ định. Đăng nhập vào bảng quản trị GlassFish bằng mật khẩuBây giờ bạn có thể tạm thời vô hiệu hóa Glassfish bằng cách đóng bảng điều khiển mà nó đang chạy. Đối với WildFly. Chuyển đến thư mục có con ruồi hoang dã đã giải nén . Tiếp theo, chuyển đến thư mục độc lập , sau đó đến thư mục cấu hình và trong đó có tệp Standalone.xml . Tiếp theo chúng ta tiến hành theo sơ đồ đã thiết lập. Tôi đặt cổng thành 9913 . Hãy khởi động máy chủ. Để thực hiện việc này, chúng ta hãy chuyển đến thư mục chứa Wildfly đã giải nén . Tiếp theo, vào thư mục bin và chạy file Standalone.bat . Mở trình duyệt và nhập địa chỉ http://localhost:9913 . Đăng nhập lần đầu vào WildFlyNhấp vào liên kết Bảng điều khiển quản trị để vào bảng điều khiển dành cho quản trị viên (hay nói cách khác là bảng quản trị của máy chủ ứng dụng). Nhưng điều đó đã không xảy ra, bởi vì... màn hình bật lên. Đăng nhập lần đầu vào bảng quản trị WildFlyMàn hình này cho chúng ta biết rằng quản trị viên chưa được tạo và để tạo nó, chúng ta cần sử dụng tiện ích console add-user.bat . Chà, nếu cần thiết thì nó cần thiết. Chúng ta quay lại thư mục bin và chạy tiện ích này. Đầu tiên, bạn sẽ được yêu cầu chọn loại người dùng mà chúng tôi muốn tạo. Chúng ta cần chọn mục (a) , điều đó có nghĩa là chúng ta cần một quản trị viên. Sau đó, bạn được hỏi tên của người dùng này Tên người dùngmật khẩu Mật khẩu . Mật khẩu không được để trống nhưng chấp nhận một ký tự. Tiện ích tất nhiên sẽ mắng, nhưng sẽ nuốt nó nếu bạn trả lời có cho câu hỏi "Bạn có chắc không?" Tiếp theo, xác nhận mật khẩu bằng cách nhập lại yêu cầu Re-enter Pass . Sau đó sẽ có nhiều câu hỏi hơn nhưng chúng ta chỉ cần trả lời tất cả một cách khẳng định và thoát khỏi tiện ích. Quay lại trang trên tìm liên kết Try Again và click vào đó. Bây giờ, bằng cách nhập thông tin chi tiết của quản trị viên mới tạo, bạn có thể truy cập bảng quản trị. Quản trị viên trong WildFlyChúng tôi tắt máy chủ bằng cách đóng cửa sổ bảng điều khiển nơi nó được khởi chạy. Dành cho Geronimo. Chuyển đến thư mục có geronimo đã giải nén . Tiếp theo, hãy chuyển đến thư mục con var , sau đó đến thư mục config và trong đó có tệp config-substitutions.properties . Tệp này mô tả tất cả các cổng được máy chủ ứng dụng sử dụng ở định dạng thuận tiện, nhưng sơ đồ thay thế cổng vẫn giống nhau. Tôi đặt cổng thành 10013 . Hãy khởi động máy chủ geronimo . Chúng ta hãy chuyển đến thư mục có geronimo đã giải nén , sau đó đến thư mục con bin và chạy tệp startup.bat ở đó . Vào trang http://localhost:10013. Bạn nghĩ sao? Rất có thể, trang này sẽ không ở đó. Tại sao? Vấn đề là, phiên bản mới nhất của Geronimo (3.0) không thể hoạt động với phiên bản mới nhất của JDK (1.8), vì vậy nếu bạn chỉ có nó hoặc thậm chí có phiên bản thứ 7, nhưng biến môi trường JAVA_HOME vẫn đề cập cụ thể đến Thứ 8, giống như của tôi, máy chủ ứng dụng sẽ không khởi động. Do đó, để Geronimo hoạt động, bạn phải tải xuống JDK 1.7. Bây giờ, giả sử bạn đã cài đặt JDK thứ 7, nhưng không muốn thay đổi giá trị của biến JAVA_HOME (xét cho cùng, các chương trình khác không phàn nàn về điều đó, có nghĩa là chúng có thể hoạt động với phiên bản JDK mới nhất). Phải làm gì? Tôi khuyên bạn nên mở tệp setjavaenv.bat nằm trong cùng thư mục bin và tìm dòng có nhãn :okJdkFileCheck . Sau đó, trên dòng tiếp theo, hãy thêm ghi đè biến môi trường. Ví dụ: như thế này: set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 Dòng này không có ở đó, vì vậy hãy tự viết nó. Nếu bạn có hệ thống 32 bit thì sẽ không còn vấn đề gì nữa. Hơn nữa, nếu bạn có hệ thống 64 bit và bạn đã cài đặt JDK 1.7 ở cấu hình 64 bit thì mọi thứ đều ổn với bạn. Bây giờ hãy tưởng tượng rằng chúng tôi đã quyết định làm hỏng việc và cài đặt JDK 1.7 từ dòng 32 bit trên hệ thống 64 bit (ví dụ: tôi có Windows 7 64). Vậy thì sao? Sau đó, bạn sẽ phải mày mò thêm một chút, vì trong hệ thống 64 bit có hai thư mục để cài đặt chương trình: Program FilesProgram Files (x86) và nếu bạn không thay đổi gì thì JDK 32 bit sẽ đi vào sau này. Có gì đáng sợ thế? Có, có vẻ ổn, tuy nhiên, nếu biến JAVA_HOME có dấu ngoặc trong đường dẫn của nó (x86), thì Geronimo sẽ bị khó tiêu. Tại sao? Có Chúa mới biết, nhất là xét theo diễn đàn, lỗi này đáng lẽ phải được sửa trong phiên bản 3 của Geronimo . Nhưng không có gì như thế. Cái chính trong vấn đề này là không được tè dầm, người da đỏ không sửa thì chúng tôi sẽ sửa. Có hai cách để làm điều này, tôi thích kết hợp hơn để đảm bảo. Đầu tiên, hãy truy cập lại tệp setjavaenv.bat và tìm nhãn đã được đề cập :okJdkFileCheck . Dưới nhãn này có một dòng nếu "%JRE_HOME%" == "" if tồn tại "%Java_HOME%\bin\javac.exe" (đặt JRE_HOME=%Java_HOME%\jre) nếu không thì đặt JRE_HOME=%JAVA_HOME% trong đó chữa bệnh Geronimo Sẽ đủ để đặt chuỗi con JRE_HOME=%JAVA_HOME%\jre trong dấu ngoặc kép, tức là. thay thế toàn bộ dòng bằng if "%JRE_HOME%" == "" if tồn tại "%Java_HOME%\bin\javac.exe" (đặt "JRE_HOME=%Java_HOME%\jre") khác đặt JRE_HOME=%JAVA_HOME% . Ngoài ra, hãy nhớ hoặc lưu ý rằng các thư mục như Tệp chương trình trong Windows 7 có từ đồng nghĩa (ví dụ: đối với thư mục C:C:\Progra~2 ). Do đó, nếu bạn trong tệp setjavaenv.bat sau nhãn :okJdkFileCheck đặt giá trị sau của biến JAVA_HOME được đặt JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75 thì bạn cũng sẽ có một máy chủ Geronimo chạy phiên bản 32 -bit JDK trong hệ điều hành 64 bit x bit. Đại loại như thế này... Chà, cuối cùng, bạn có thể khởi chạy Geronimo bằng cách gọi startup.bat . Bây giờ sẽ không có bất kỳ vấn đề gì. Truy cập trang http://localhost:10013 trên trình duyệt . Ở trên cùng bên trái, tìm liên kết Console và nhấp vào liên kết đó. GeronimoBạn cần nhập tên người dùng và mật khẩu quản trị viên của bạn. Hãy để tôi nói ngay cho bạn rằng đây là người dùng hệ thốngtrình quản lý mật khẩu (giá trị mặc định). Đăng nhập vào khu vực quản trị Geronimo bằng mật khẩuBằng cách đi tới bảng điều khiển và làm theo các mục menu như trong hình bên dưới (chọn nút radio Nâng cao , sau đó chọn Bảo mật > Người dùng và Nhóm ), bạn có thể thay đổi mật khẩu cho người dùng hệ thống hoặc tạo một người dùng quản trị viên khác và xóa cái này đi Thay đổi mật khẩu của bạn trong GeronimoBạn cũng có thể dừng máy chủ Geronimo bằng cách đóng cửa sổ bảng điều khiển nơi máy chủ đang chạy.

Phần kết luận

Trong bài đánh giá này, về cơ bản tôi chỉ thực hiện cài đặt và cấu hình ban đầu của các máy chủ ứng dụng phổ biến và vùng chứa servlet Tomcat. Ngoại trừ Geronimo, các máy chủ còn lại đều rất thân thiện và hiếu khách với tôi. Trong bài đăng tiếp theo, tôi sẽ tiếp tục xem xét các máy chủ ứng dụng và thực hiện bước thứ 3 để xem xét các dịch vụ web, cụ thể là tôi sẽ trình bày cách triển khai dịch vụ web được mô tả ở bước đầu tiên vào các máy chủ này. Để thực hiện điều này, chúng tôi sẽ tạo một kho lưu trữ chiến tranh cho dịch vụ web của mình và tôi sẽ chỉ rõ rằng tập hợp các lọ của bên thứ ba phải được đưa vào kho lưu trữ này để dịch vụ hoạt động chính xác sẽ khác nhau rất nhiều tùy theo máy chủ.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION