JavaRush /Java Blog /Random-TW /應用程式伺服器概述,當然還有 Tomcat
eGarmin
等級 41

應用程式伺服器概述,當然還有 Tomcat

在 Random-TW 群組發布
親愛的 Javarashians,我想在這篇文章中考慮什麼?我只想對應用程式伺服器中值得關注的部分做一個簡短的概述,至少因為它們是免費的並且原始碼可用。我假設你的系統與我的類似。我有Windows 7 64位,此外我有JDK 1.7和JDK 1.8,JAVA_HOME環境變數指的是後者。就我而言,這意味著JAVA_HOME路徑是C:\Program Files\Java\jdk1.8.0_31。 應用程式伺服器概述,當然還有 Tomcat - 1因此,當您重複下面描述的內容時,您的問題會盡可能少,例如“為什麼它對我不起作用,也許我做錯了什麼?”,我將嘗試描述我對我所做的每一個操作機器。開始…

鑄造,即 選擇

首先,我們需要選擇應用程式伺服器進行審查。為此,請查看維基百科文章應用程式伺服器比較(英文,因為沒有其他)。有一個帶有一堆應用程式伺服器的標誌,但我們感興趣的只是那些一方面是開源的,另一方面是完全支援 JavaEE 的,即 該表中的Java EE 相容性列必須包含類型為Full Platform的行。從這個包含WildFlyJBoss 的清單中,您可以立即扔掉後者,因為 它只是WildFly 的舊名稱和舊版本。結果,我們得到了以下值得我們關注的伺服器清單:
  1. Glassfish (不是專有的,而是來自glassfish.java.net社群的一個,但受到 Oracle 公司的支持,如果您需要 Oracle 網站上的 javaEE SDK,那麼他們會給您這個應用程式伺服器,否則沒有其他辦法)
  2. (紅帽)WildFly(以前的 JBoss)
  3. (阿帕契)傑羅尼莫
  4. (Apache)Tomcat(這只是一個servlet容器,不是應用程式伺服器,但它是一個標準,如果程式編寫正確,它肯定會工作。在其他伺服器上,程式可能會在以下方面編寫正確: JavaEE,但一切都會工作,它要么不正確,要么根本不工作。我說的是Geronimo,它的小故障可以討論很長時間)
現在讓我們啟動這些伺服器。 如果可以在 32 位元和 64 位元版本之間進行選擇,我為我的 64 位元系統選擇了一個存檔器。

安裝

在安裝方面,一切都很簡單,對於每個選定的伺服器,安裝只需解壓縮存檔即可。例如,我在桌面上建立了 AppServers 資料夾,我開始在其中解壓縮所有內容。

設定

讓我們透過設定伺服器運行的 HTTP 連接埠來開始設定伺服器。然後我們將自己註冊為伺服器管理員。每個伺服器都有自己的設定功能。 對於雄貓來說。我們進入解壓縮後的tomcat資料夾,然後是conf資料夾、server.xml檔案。我們在此文件中找到數字8080(預設 http 連接埠)並將其更改為我們想要的任何值。我將其設定為9713。要將自己註冊為伺服器管理員,您需要在同一資料夾中開啟tomcat-users.xml檔案。在其中的結束標記</tomcat-users> 之前,加入以下標記<user username="egarmin" password="1" Roles="manager-gui,manager-script,manager-status,manager-jmx"/ >在您的位置,我已為角色分配了最大數量的管理權限(角色)。這將允許我透過 GUI 和遠端連接來部署應用程式。現在讓我們啟動tomcat。進入解壓縮後的tomcat資料夾,然後進入bin資料夾並執行startup.bat檔案。前往瀏覽器http://localhost:9713。一切都應該順利,我們就會看到老虎。 雄貓現在讓我們檢查您是否有權存取管理面板。為此,請前往http://localhost:9713/manager,輸入所選的登入名稱和密碼並獲得存取權限。 Tomcat 中的管理員萬歲!您只需關閉執行 Tomcat 的控制台即可暫時停用 Tomcat。 對於玻璃魚。前往包含已解壓縮的glassfish的資料夾,然後前往glassfish 子資料夾,然後前往domains 子資料夾,然後前往domain1資料夾。轉到config資料夾並找到domain.xml檔案。在那裡,我們還查找數字8080(該數字通常是應用程式伺服器和 servlet 容器的預設 HTTP 連接埠)並將其更改為我們想要的任何值。我將其設定為9813。讓我們發射 glassfish。前往包含解壓縮的 glassfish 的資料夾,然後前往glassfish子資料夾,然後前往bin資料夾。運行startserv.bat檔。在瀏覽器中輸入位址http://localhost:9813。在標題為GlassFish Server 的醜陋頁面上,找到前往管理控制台的連結並點擊它。 首次登入 GlassFish接下來,進入基於JSF建構的管理控制台的精美頁面,點擊「更改管理員密碼」項,輸入我們需要的 adminGlassFish 管理員使用者密碼,然後確認並點擊「儲存」按鈕在 GlassFish 中更改密碼當您隨後登入管理控制台時,您將需要輸入管理員登入名稱和指定的密碼。 現在,您只需關閉執行 Glassfish 的控制台 使用密碼登入 GlassFish 管理面板即可暫時停用Glassfish 。對於野蠅來說。轉到包含解壓縮的wildfly的資料夾。接下來,轉到獨立資料夾,然後轉到設定資料夾,然後轉到其中的standalone.xml檔案。接下來我們就依照既定的方案進行。我將連接埠設定為9913。讓我們啟動伺服器。為此,我們進入包含解壓縮的wildfly 的資料夾。接下來,轉到bin資料夾並運行檔案standalone.bat。開啟瀏覽器並輸入位址http://localhost:9913首次登入WildFly按一下管理控制台連結進入管理控制台(即應用程式伺服器的管理面板)。但事實並非如此,因為… 螢幕彈出。 首次登入 WildFly 管理面板此畫面告訴我們管理員尚未建立,要建立它,我們需要使用控制台實用程式add-user.bat。好吧,如果有必要,那就有必要。我們返回bin資料夾並運行該實用程式。首先,系統會要求您選擇我們要建立的使用者類型。我們需要選擇項目(a),這意味著我們需要管理員。然後系統會要求您輸入該使用者的名稱Username和密碼Password。密碼不能為空,但可以是一個字元。實用程式當然會責罵,但如果你對“你確定嗎?”這個問題回答“是”,它就會吞下它。接下來,透過重新輸入「重新輸入密碼」請求來確認密碼。然後會有更多問題,但我們只需全部回答是肯定的並退出該實用程式。返回上面的頁面,找到“重試”連結並點擊它。現在,透過輸入新建立的管理員的詳細信息,您可以進入管理面板。 WildFly 管理員我們透過關閉啟動伺服器的控制台視窗來關閉伺服器。 為了傑羅尼莫。前往包含已解壓縮的geronimo的資料夾。接下來,轉到var 子資料夾,然後轉到config資料夾,其中包含config-substitutions.properties檔案。該文件以方便的格式描述了應用程式伺服器使用的所有端口,但端口替換方案是相同的。我將連接埠設定為10013讓我們啟動geronimo伺服器。讓我們轉至解壓縮後的geronimo資料夾,然後前往bin 子資料夾並執行其中的startup.bat檔案。進入頁面http://localhost:10013。你怎麼認為?該頁面很可能不存在。為什麼?問題是,最新版本的 Geronimo (3.0) 無法與最新版本的 JDK (1.8) 一起工作,因此,如果您只有它,甚至有第 7 個版本,但 JAVA_HOME 環境變量仍然特指8、像我的一樣,應用程式伺服器無法啟動。因此,為了讓 Geronimo 工作,您必須下載 JDK 1.7。現在假設您安裝了第 7 個 JDK,但不想更改 JAVA_HOME 變數的值(畢竟其他程式不會抱怨它,這意味著它們可以使用最新版本的 JDK)。怎麼辦?我建議打開位於同一bin資料夾中的setjavaenv.bat檔案並查找標記為:okJdkFileCheck的行。然後在下一行新增環境變數覆蓋。例如這樣:set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75這行是沒有的,所以請自己寫一下。如果你有32位元系統,那麼應該不會有更多問題。此外,如果您有 64 位元系統並且在 64 位元配置中安裝了 JDK 1.7,那麼一切都對您來說沒問題。現在讓我們想像一下,我們決定變態,在 64 位元系統上從 32 位元線安裝 JDK 1.7(例如,我有 Windows 7 64)。然後怎樣呢?然後你將不得不進行更多修改,因為在 64 位元系統中,有兩個用於安裝程式的資料夾:Program FilesProgram Files (x86),如果你不進行任何更改,32 位元 JDK 將進入後者。這有什麼可怕的?是的,看起來沒問題,但是,如果 JAVA_HOME 變數在其路徑 (x86) 中包含方括號,那麼 Geronimo 就會消化不良。為什麼?天知道,特別是考慮到根據論壇,這個錯誤應該在Geronimo的版本 3 中修復。但沒有那樣的事。這件事最主要的是不要尿尿,如果印度人不改正,那我們就改正。有兩種方法可以做到這一點,為了確定起見,我更喜歡將它們結合起來。首先,再次前往setjavaenv.bat檔案並找到已經提到的標籤:okJdkFileCheck。在此標籤下有一行if "%JRE_HOME%" == "" if exit "%JAVA_HOME%\bin\javac.exe" (set JRE_HOME=%JAVA_HOME%\jre) else set JRE_HOME=%JAVA_HOME%其中治癒Geronimo 將治癒Geronimo子字串JRE_HOME=%JAVA_HOME%\jre 放在引號中就足夠了,即 將整行替換為if "%JRE_HOME%" == "" if exit "%JAVA_HOME%\bin\javac.exe" (set "JRE_HOME=%JAVA_HOME%\jre") else set JRE_HOME=%JAVA_HOME%。另外,請記住或註意 Windows 7 中的 Program Files 等資料夾具有同義詞(例如,資料夾C:C:\Progra~2 )。因此,如果您在檔案setjavaenv.bat中的標籤:okJdkFileCheck之後設定變數 JAVA_HOME 的以下值set JAVA_HOME=C:\Progra~2\Java\jdk1.7.0_75那麼您也將擁有一個執行 32 位元的Geronimo 像這樣......好吧,最後,您可以透過呼叫startup.bat來啟動Geronimo。現在應該不會有什麼問題了。在瀏覽器中造訪http://localhost:10013頁面。在左上角,找到控制台連結並點擊它。 您需要輸入您的管理員使用者名稱和密碼。讓我立即告訴您,這是具有密碼管理器(預設值)的系統使用者。 透過前往控制臺本身並按照下圖所示的選單項目進行操作(選擇高級單選按鈕,然後選擇安全性 > 用戶和群組),您可以更改系統用戶的密碼,或建立另一個管理員用戶,然後刪除這個。 您也可以透過簡單地關閉運行伺服器的控制台視窗來 停止Geronimo伺服器。傑羅尼莫使用密碼登入 Geronimo 管理區域在 Geronimo 中更改密碼

結論

在這篇評論中,我基本上只是完成了流行應用程式伺服器和 Tomcat servlet 容器的安裝和初始配置。除了 Geronimo 之外,其餘的服務員對我都非常友好和熱情。在下一篇文章中,我將繼續考慮應用程式伺服器,並採取第三步考慮 Web 服務,也就是我將展示如何將第一步中描述的Web 服務部署到這些伺服器中。為此,我們將為 Web 服務建立一個 war 存檔,並且我將清楚地表明,必須包含在該存檔中才能使服務正常工作的第三方 jar 集在不同伺服器之間存在很大差異。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION