JavaRush /Java 博客 /Random-ZH /应用程序服务器概述,当然还有 Tomcat
eGarmin
第 41 级

应用程序服务器概述,当然还有 Tomcat

已在 Random-ZH 群组中发布
亲爱的 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 将子字符串 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服务器64 位 x 位操作系统中的 JDK。像这样......好吧,最后,您可以通过调用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