TomCat 9 安装配置

总览

介绍

在最简单的概念中,TomCat是Web服务器。好吧,不仅如此。尽管它可以提供静态文件,但其主要目的是充当为Java Web应用程序提供服务的“ servlet容器”。它可以处理[.jsp]文件,类似于PHP脚本,但适用于Java。它还可以运行[Java Servlets],它们是处理GET,POST和其他HTTP请求的类。TomCat将在TCP端口上侦听HTTP请求,并将请求路由到Java类,JSP文件或静态文件。也可以将TomCat嵌入到独立的应用程序中,但这超出了本文档的范围。

尽管实际上在本教程中实际上没有Java代码,但仍希望有初级Java知识。这将涵盖基本的安装,配置和管理方面。本指南面向希望学习基本Java Web应用程序托管的中级开发人员。您应该是设置TomCat的系统管理员,还是要学习如何设置TomCat的开发人员。

我总是建议您使用http://tomcat.apache.org/上的官方文档以获取最新和最准确的信息。这是作为快速入门指南,其中包括我认为重要的入门知识。这里没有涵盖许多功能。例如,TomCat可以嵌入到您的应用程序内部。

Eclipse Jetty是TomCat的一种流行替代方法。当您需要轻量级嵌入式servlet容器时,通常使用它。诸如TomCat和Jetty之类的Servlet容器仅支持JavaEE规范的子集(JSP和Servlet)。您可以使用任何完整的JavaEE服务器作为替代方案,因为它们将支持Servlet和JSP,但它们还将支持更多功能,例如企业Java Bean(EJB),Java Persistence API(JPA)等。TomCatEEGlassfish是完整EE服务器的示例。

建立

取得JAVA

如果您还没有Java副本,则至少需要Java运行时环境(JRE)副本。我建议获取完整的Java开发套件(JDK),其中包括JRE。如果要开发自己的应用程序,则必须获得JDK。如果只想运行TomCat,则只需要JRE。

有关在Windows上安装多个JDK版本的信息,请查看“在Windows for Java开发中安装多个JDK”教程。

脚步:

  • 下载Java JDK。在此示例中,我使用的是OpenJDK 11。
  • 解压缩zip文件
  • 将Java移至所需位置。可以是您的主目录,例如/ opt / openjdk11。对于本示例的其余部分,我们将假定使用路径/ opt / openjdk11或C:\ opt \ openjdk11
  • 为TomCat设置JAVA_HOME环境变量。如果仅下载JRE,而不下载完整的JDK,则设置JRE_HOME。

可选:在Linux中,从主目录存储和运行JDK可以很好地用于个人开发,但是,如果您是系统管理员,并且想要使Java对所有人可用,则可以将其移动到每个人都可以读取的位置。

# Move Java to a system location (Linux)
sudo chown -R root:root /opt/openjdk11
chmod -R 775 /opt/openjdk11

可选:将Java可执行文件添加到您的PATH,以允许从命令行调用它。如果要将TomCat设置为服务,则不需要这样做,但是如果要从外壳中使用Java和编译器来运行程序并进行开发,则很有用。将JAVA_HOME内的bin目录添加到您的路径。例如/ opt / openjdk11 / bin到您的PATH。

# Windows update PATH permanently
setx PATH=C:\opt\openjdk11\bin;%PATH%

# Linux
export PATH=/opt/openjdk11/bin:$PATH

获取TOMCAT

首先,从http://tomcat.apache.org/下载TomCat 。下载后解压缩文件。如果您正在使用IDE进行NetBeans或IntelliJ之类的开发,则只需将IDE配置为使用TomCat目录,它将负责启动和停止服务以及部署应用程序。

在运行之前,需要设置两个重要的环境变量:

  • CATALINA_HOME设置为TomCat目录的根目录。
  • JAVA_HOME设置为Java JDK或JRE的根目录。

有几种使用TomCat的方法:

  • 使用startup.sh和shutdown.sh手动启动和停止TomCat进程
  • 配置您的IDE来为您管理TomCat实例(用于开发)
  • 将TomCat设置为系统服务(用于生产)
  • 将TomCat嵌入到您的应用程序中(此处未涵盖)

TomCat目录中的重要目录:

  • conf / -包含配置文件
  • 日志/ -Web应用程序的日志文件
  • webapps / -用于存储Web应用程序目录和.war文件的目录
  • webapps / ROOT / -默认Web根

将TOMCAT安装为WINDOWS服务

要将TomCat作为Windows服务安装,请使用可从https://tomcat.apache.org/index.html下载的“ Windows Service Installer” 。转到所需版本的“下载”页面,然后找到名为32/ 64Windows服务安装程序的下载。安装后,您将在Windows的“服务”管理器中找到它。您可以从那里启动和停止它。

要了解有关Windows服务的更多信息,请查看官方文档。这是第9版Windows服务HOW-TO的快速链接 。

将TOMCAT设置为LINUX服务(系统化)

将TomCat设置为服务可以使其在后台运行,并配置为在引导时运行。如果要使TomCat服务器运行24/7并自动重新启动,则要将其设置为服务。如今,大多数Linux发行版都使用systemd,这就是本文所涵盖的内容。假设您已经下载并解压缩了Java和TomCat。在此示例中,我们假设TomCat已移至/ opt /目录。

准备低特权用户和目录权限

这是可选的,但建议使用。我不建议以root用户运行该服务。我也建议您不要使用您的个人用户,除非它是您自己的服务器,仅供个人使用和开发。我确实建议创建一个名为“ tomcat”的低特权用户来运行该服务。

# Create low priv tomcat user
sudo useradd tomcat

# Let scripts be executable (i.e. startup/shutdown scripts)
sudo chmod +x /opt/tomcat9/bin/*.sh

# Reset permissions on tomcat directory
sudo chmod -R 775 /opt/tomcat/webapps
sudo chown -R tomcat:tomcat /opt/tomcat9

# Optionally add your user to the tomcat group
# to write in the tomcat directory
sudo gpasswd -a myusername tomcat

系统服务文件示例

这是systemd服务文件的示例。例如,您可以将此文件放在/etc/systemd/system/tomcat.service中,然后它将创建一个名为“ tomcat”的服务。

# Example systemd file
[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/opt/openjdk11
Environment=CATALINA_PID=/opt/tomcat9/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat9
Environment=CATALINA_BASE=/opt/tomcat9
Environment='CATALINA_OPTS=-Xmx1024M -server'

WorkingDirectory=/opt/tomcat9

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target

控制系统服务

使用以下命令控制服务并获取信息。确保运行enable命令,以便它将在重新启动时自动启动。

sudo systemctl status tomcat
sudo systemctl enable tomcat # Sets it to start on boot
sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat

使用NGINX作为反向代理

在某些情况下,您可以使用TomCat在端口80或443上进行公开侦听,但是在许多情况下,您需要在运行其他Web服务的服务器上运行TomCat。在这种情况下,设置反向代理以公开侦听并处理到内部Web服务(例如TomCat)的路由通信可能很有用。我建议使用nginx,如果您想学习如何做的话,可以参阅Nginx教程

基本用法

本节介绍一些常见任务,例如启动和停止服务器,提供静态文件和JSP以及修改常规设置。

手动启动和停止TOMCAT

在bin \目录中,将有一个启动和关闭脚本。为Linux提供了.sh,为Windows提供了.bat。运行脚本,并根据需要设置环境变量JAVA_HOME和CATALINA_HOME。

Windows示例:

set JAVA_HOME=C:\opt\openjdk11
set CATALINA_HOME=C:\opt\tomcat9

C:\opt\tomcat9\bin\startup.bat
C:\opt\tomcat9\bin\shutdown.bat

Linux示例:

export JAVA_HOME=/opt/openjdk11
export CATALINA_HOME=/opt/tomcat9

# Might need sudo for these
/opt/tomcat9/bin/startup.sh
/opt/tomcat9/bin/shutdown.sh

验证TOMCAT服务器正在运行

访问http:// localhost:8080以查看TomCat是否正在工作。如果是远程测试,则可能需要用服务器的IP地址替换localhost。如果您是手动安装的,则默认端口为8080。如果您使用apt-get或Windows安装程序,则其默认端口应为端口80。我们稍后将在有关修改设置的本节中介绍如何更改端口。

服务静态文件

TomCat可以开箱即用地处理静态文件。默认情况下,TomCat的webapps /目录中有一个webapps / ROOT /目录。内部已经有一个index.jsp和其他资源。那是您在上一节中的浏览器中访问TomCat服务器时在http:// <ip>:8080中访问的登录页面

您可以将更多静态文件添加到webapps / ROOT /目录中,也可以在webapps /目录中创建一个新目录并将静态文件放置在该目录中。可通过/ <directory_name>访问(例如http:// localhost:8080 / mywebapp)。

您可以放置​​.txt,.zip或.html之类的平面文件,它们将直接提供。您也可以创建子目录。

服务JAVA服务器页面(JSP)

提供.jsp页面就像提供静态文件一样容易。您只需将JSP文件放入Web应用程序目录(例如ROOT)中,然后将您的客户端指向它。不需要XML配置或WAR文件。只要将您的浏览器指向/yourjsp.jsp,它就会运行。在将响应返回给客户端之前,TomCat实际上会编译它们并对其进行动态处理。在这种意义上,它们被视为PHP脚本。可以将它们视为HTML文件,并在各个位置插入动态Java代码。对.jsp页面进行更新时,无需重新启动服务器或重新编译代码。

如果要测试,这是一个JSP的简单示例。它显示了如何打印文本,创建新对象以及从请求中获取标头。

<!-- hello.jsp -->
<html>
    <body>
        <p><% out.print("Hello,world!"); %></p>
        <p>8 x 8 = <%= 8 * 8 %></p>
        <p>Time: <%= new java.util.Date() %></p>
        <p>Host requested: <%= request.getHeader("Host") %></p>
    </body>
</html>

将其命名为hello.jsp并将其放在webapps / ROOT目录中,然后访问https:// localhost:8080 / hello.jsp。或者,在webapps中创建一个类似于hello /的目录,并将文件放在其中,然后访问http:// localhost:8080 / hello / hello.jsp。

修改设定

TomCat配置文件位于TomCat根目录的conf /目录中。主文件是server.xml,可以在其中更改监听端口。在server.xml内部,主要侦听端口在标记为Connector的部分中定义。该部分将如下所示:

<!-- A "Connector" represents an endpoint by which requests are received
    and responses are returned. Documentation at :
    Java HTTP Connector: /docs/config/http.html
    Java AJP  Connector: /docs/config/ajp.html
    APR (HTTP/AJP) Connector: /docs/apr.html
    Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" >

部署网络应用

部署Web应用程序可以通过以下几种方法来完成。

  • 手动将Web应用程序目录复制到TomCat的webapps /目录
  • 将.war文件放置在webapps /目录中
  • 使用Maven插件进行部署
  • 使用TomCat随附的名为manager的Web应用程序

TomCat管理器Web应用程序在“管理Web应用程序”部分中进一步介绍。

使用管理网页界面

TomCat捆绑了两个Web应用程序以帮助管理。

一种是虚拟主机管理器,它使您可以侦听多个不同的域。可以在/ host-manager / html上访问它,并且需要某些角色才能访问(下面解释)。

与TomCat捆绑在一起的另一个Web应用程序是Web应用程序管理器。这是更常用的,并且与初学者更相关。可以在/ manager / html访问它。这列出了所有可用的Web应用程序以及正在运行的Web应用程序。您可以启动,启动,部署,取消部署和终止会话。这很有用。

创建一个TOMCAT管理员用户

您可以在conf / tomcat-users.xml文件中将用户添加到TomCat 。xml中将有一个标记为tomcat-users的部分。在其中,将有几个注释掉的示例,显示了如何创建用户。如果要授予所有允许访问admin Manager应用程序的角色,则可以在下面添加代码行,更改用户名和密码。

<!-- Inside <CATALINA_HOME>/conf/tomcat-users.xml -->
<!-- Inside the <tomcat-users> element -->

<!-- Roles for Web Application Manager /manager/html/ -->
<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-jmx" />
<role rolename="manager-status" />
<!-- Role for Virtual Host Manager /host-manager/html/ -->
<role rolename="admin-gui" />

<!-- Create user and assign roles -->
<user username="dano" password="secret" roles="manager-script,manager-gui,manager-jmx,manager-status,admin-gui" />

注意,您将需要重新启动服务器。如果将其作为服务安装,请使用服务管理器重新启动TomCat(Windows中为“服务”; Ubuntu中为“ sudo systemctl restart tomcat”)。如果是手动安装的,请参阅上面的“手动启动和停止TomCat”部分。花时间探索http:// localhost:8080 / manager / html和http:// localhost:8080 / host-manager / html链接。如果要远程访问它而不是通过本地主机访问,则会收到错误消息。下一节将说明如何将您的IP地址列入白名单。

访问管理网络应用

要访问管理页面,请访问Web应用程序管理器/ manager / html(例如http:// localhost:8080 / manager / html),并通过/ host-manager / html(例如http:// localhost)查看虚拟主机管理器。 :8080 / host-manager / html)。默认情况下,Web应用程序管理器仅可在localhost上访问。如果需要从远程主机访问管理界面,则需要将服务器上的IP地址列入白名单。您可以通过编辑特定Web应用程序目录内的META-INF / context.xml文件来实现。

您将使用上一部分在tomcat / conf / tomcat-users.xml中创建的tomcat用户和密码登录到这些用户。

要将IP列入白名单,请修改文件tomcat / webapps / manager / META-INF / context.xml,并将您的IP附加到列入白名单的IP地址列表中,并用|将IP分开。分隔符(请参见下面的示例)。对tomcat / webapps / host-manager / META-INF / context.xml执行相同的操作

在<webapp> /META-INF/context.xml文件中找到如下所示的行:

&lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

将您的IP地址添加到列表中。我们假设它是8.8.8.8。更改allow属性以在末尾包含您的IP地址,并在管道后附加| 像这样:

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|8.8.8.8"

管理网络应用

在前面的部分之后,您应该已经可以在/ manager / html URL上访问Web应用程序管理器。此页面将列出可用并正在运行的Web应用程序。您可以从此页面启动,停止和取消部署应用程序。您还可以将Web应用程序部署为打包的.war文件或爆炸目录。如果要远程访问服务器,则需要.war文件。

官方文档中了解有关Web应用程序管理器的更多信息。

结论

TomCat是一个servlet容器,已经存在并证明了其价值。这是托管JSP和Servlet应用程序的可靠选择。阅读此内容后,您应该可以轻松设置TomCat的基本用法以开始使用。本指南只是一些常见任务的快速概述。TomCat具有更多功能。请访问http://tomcat.apache.org/以获取最新和最准确的信息。

参考文献

 

原文地址:https://blog.csdn.net/allway2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


&lt;servlet&gt; &lt;servlet-name&gt;tomcatpooljsp&lt;/servlet-name&gt; &lt;jsp-file&gt;/WEB-INF/tomcatpool.jsp&lt;/jsp-file&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;tomcatpooljsp&lt;/servlet-nam...
遵循Java Servlet 规范第4节中的建议 ,Apache Tomcat实现了系统地重新加载Java类的方法,以允许在不重新启动整个服务器的情况下更新应用程序的组件。 此功能对于开发非常重要,因为事实证明,随着服务器启动和重启时间的延长,这会严重浪费开发人员的时间。实际上,Java EE堆栈应用服务器的服务器重新启动时间很慢,这是Tomcat广泛用于个人和企业级项目的推动力之一。但是,即使Tomcat也无法 像运行时重新加载应用程序一样快地启动。通过仅重新加载隔离的应用程序的更改的类,开发人员..
JMX(Java管理扩展)是一项非常强大的技术,可让您管理,监视和配置Tomcat MBean。如果您是Tomcat管理员,那么您应该熟悉如何在tomcat中启用JMX来监视堆内存,线程,CPU使用率,类以及配置各种MBean。在本文中,我将讨论如何使用JConsole启用并连接到Tomcat。我假设您已经安装了Tomcat(如果没有);您可以参考安装指南。转到安装了Tomcat的路径 转到bin文件夹 将文件创建为“ setenv.sh” 使用vi编辑器修改文件并添加以下内容
总览介绍 建立 取得Java 获取TomCat 将TomCat安装为Windows服务 将TomCat设置为Linux服务(系统化) 使用Nginx作为反向代理 基本用法 手动启动和停止TomCat 验证TomCat服务器正在运行 服务静态文件 服务Java服务器页面(JSP) 修改设定 部署网络应用 使用管理网页界面 创建一个TomCat管理员用户 访问管理网络应用 管理网络应用 结论 参考链接介绍在最简单的概念中,To.
PSI Probe是Lambda Probe的社区驱动分支,使用相同的开源许可证(GPLv2)分发。它旨在替换和扩展Tomcat Manager,从而使管理和监视Apache Tomcat实例更加容易。与许多其他服务器监视工具不同,PSI Probe不需要对现有应用程序进行任何更改。它通过可访问Web的界面提供所有功能,只需将其部署到服务器即可使用。这些功能包括:请求:即使在每个应用程序的基础上,实时监视流量。 会话:浏览/搜索属性,查看上一个IP,到期,估计大小。 JSP:浏览,查看源代码,进
监视和管理Tomcat目录介绍 启用JMX远程 使用JMX远程Ant任务管理Tomcat JMXAccessorOpenTask-JMX打开连接任务 JMXAccessorGetTask:获取属性值Ant任务 JMXAccessorSetTask:设置属性值Ant任务 JMXAccessorInvokeTask:调用MBean操作Ant任务 JMXAccessorQueryTask:查询MBean Ant任务 JMXAccessorCreateTask:远程创建MBean Ant任
1.tomcat与jetty都是一种servlet引擎,他们都支持标准的servlet规范和javaEE规范
“The origin server did not find a current representation for the target resource...
Artifacts是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;
使用 IDEA 编辑器开发项目十分便捷,这里介绍使用 IDEA 编辑器添加 Tomcat
这篇“servlet和tomcat的知识点有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅...
这篇文章主要讲解了“Tomcat管理平台实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Tomcat管理平...
本文小编为大家详细介绍“tomcat虚拟主机怎么配置”,内容详细,步骤清晰,细节处理妥当,希望这篇“tomcat虚拟主机怎么配置”文章能帮助大家解决疑惑,下面跟
今天小编给大家分享一下tomcat相关配置与eclipse集成的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇“Tomcat之web应用的目录组成结构是怎样的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,
今天小编给大家分享一下tomcat目录映射的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大...
这篇“tomcat的环境怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文...
环境:tomcat:apache-tomcat-7.0.35 cactiEZ:10.1系统:centos5.6_x64一、配置tomcat服务器1、添加账号vim tomcat-users.xml 重启tomcat2、安装snmp协议yum...
一、 软环下载地址软件链接地址https://files.cnblogs.com/files/jinrf/openssl-1.0.2-latest.tar.gzhttps://files.cnblogs.com/files/jinrf/apr-util-1.6...