如何安装Tomcat 9以及如何托管它?
学习如何安装Tomcat以及一些云托管选项来部署您的Tomcat应用程序。
这篇博客文章分两部分讨论 – 第一部分讲述如何在Ubuntu上自己安装Apache Tomcat,第二部分讲述了可用的最佳托管平台来托管Tomcat应用程序。
什么是Apache Tomcat?
Apache Tomcat是Apache基金会的开源Web /应用服务器。它以前叫Jakarta。它是一个HTTP服务器和一个Servlet容器。默认情况下,它运行在端口8080上。
Tomcat实现了Java Servlet和Java服务器页面规范。它为Java代码提供了一个Java Web服务器环境。Apache Tomcat包括配置和管理工具。它也可以通过编辑XML配置文件直接进行配置。
下面是在Ubuntu 18.04上安装Tomcat 9的逐步指南。
先决条件
要安装Tomcat,您需要在系统上安装Java。
更新存储库并安装Java 8。
sudo apt-get update
sudo apt-get install openjdk-8-jdk -y
将刚安装的Java 8选择为当前的Java版本。
sudo update-alternatives --config java
检查Java版本。
yaoweibin@yaoweibin:~$ java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.10.1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)
安装Tomcat 9
下载Tomcat 9的最新版本,当前版本为tomcat-9.0.27。您始终可以参考官方下载链接获取最新版本。
https://tomcat.apache.org/download-90.cgi
下面的示例是针对9.0.27版本的。
- 下载Tomcat软件包
yaoweibin@yaoweibin:~$ wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
--2019-11-18 14:29:04-- http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz
Resolving www-eu.apache.org (www-eu.apache.org)... 95.216.24.32, 2a01:4f9:2a:185f::2
Connecting to www-eu.apache.org (www-eu.apache.org)|95.216.24.32|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10982406 (10M) [application/x-gzip]
Saving to: ‘apache-tomcat-9.0.27.tar.gz’
apache-tomcat-9.0.27.tar.gz 100%[=================================================================>] 10.47M 3.87MB/s in 2.7s
2019-11-18 14:29:38 (3.87 MB/s) - ‘apache-tomcat-9.0.27.tar.gz’ saved [10982406/10982406]
- 解压Tomcat 9软件包
yaoweibin@yaoweibin:~$ tar -xzf apache-tomcat-9.0.27.tar.gz
- 出于安全原因,我们将为Tomcat创建一个单独的系统用户。
yaoweibin@yaoweibin:~$ sudo useradd -r -m -U -d /home/yaoweibin/apache-tomcat-9.0.27 -s /bin/false tomcat
[sudo] password for yaoweibin:
- tomcat用户应该对Tomcat安装目录具有完全访问权限。此命令将安装目录所有权更改为tomcat用户。
yaoweibin@yaoweibin:~$ sudo chown -RH tomcat: apache-tomcat-9.0.27
- tomcat目录下的所有脚本都必须可执行,因此添加可执行权限。
yaoweibin@yaoweibin:~$ sudo sh -c 'chmod +x apache-tomcat-9.0.27/bin/*.sh'
- 在
/etc/systemd/system/
目录下创建一个名为tomcat.service
的文件以将tomcat作为服务运行。
想知道为什么?这是为了确保Tomcat starts automatically when server reboot。
yaoweibin@yaoweibin:~$ sudo gedit /etc/systemd/system/tomcat.service
- 将下面的内容复制粘贴到文件中。根据您的Java安装路径更改
JAVA_HOME
路径。
- 运行以下命令告诉系统您刚刚创建的新服务文件。
yaoweibin@yaoweibin:~$ sudo systemctl daemon-reload
- 启动tomcat服务。
yaoweibin@yaoweibin:~$ sudo systemctl start tomcat
- 检查tomcat服务是否处于运行状态。
yaoweibin@yaoweibin:~$ systemctl status tomcat.service
● tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2019-11-18 14:41:12 EST; 4s ago
Process: 22939 ExecStart=/home/yaoweibin/apache-tomcat-9.0.27/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 22947 (java)
Tasks: 14 (limit: 4680)
Memory: 63.0M
CGroup: /system.slice/tomcat.service
└─22947 /usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/home/yaoweibin/apache-tomcat-9.0.27/conf/logg
Nov 18 14:41:12 yaoweibin systemd[1]: Starting Tomcat 9 servlet container...
Nov 18 14:41:12 yaoweibin systemd[1]: Started Tomcat 9 servlet container.
- 您可以通过运行以下命令,要求系统在启动时自动启动tomcat。
yaoweibin@yaoweibin:~$ sudo systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.
- 确保防火墙不会阻止Tomcat运行。打开Tomcat运行的8080端口。
yaoweibin@yaoweibin:~$ sudo ufw allow 8080/tcp
Rules updated
Rules updated (v6)
- 编辑
tomcat-users.xml
文件,在其中定义了所有用户和角色的tomcat web管理界面。
yaoweibin@yaoweibin:~$ sudo gedit apache-tomcat-9.0.27/conf/tomcat-users.xml
- 我还给了tomcat用户manager-gui角色,这允许它以不同的凭据访问web管理界面。
<!--
注意:下面的示例用户和角色条目仅供使用
示例Web应用程序。它们被包装在注释中,因此在读取此文件时被忽略。
如果您希望为这些用户配置使用示例Web应用程序,请不要忘记删除围绕它们的。您还需要将密码设置为适当的内容。
-->
- 打开您喜欢的浏览器并访问http://localhost:8080。
- 现在转到http://localhost:8080/manager/html,那里有Tomcat的Web仪表板。您将被要求登录,使用用户名tomcat和密码admin登录。使用此界面,您可以通过单击按钮启动、停止、重新加载和部署应用程序。
恭喜!您已成功在Ubuntu 18.04上安装了Tomcat 9。
现在来谈谈托管平台及其功能的第二部分。
A2 Hosting
A2 hosting platform声称它的Tomcat托管是最快、最简单、最可靠的。在A2上,您可以使用A2的Turbo boost VPS运行20倍快。
他们提供24×7支持,任何您在其平台上遇到的托管问题都可以得到解决,并提供99.9%的正常运行时间保证。这使得A2成为一个非常可靠的托管平台。
它为您提供了足够的选项来自定义您在平台上所需的资源。A2对开发人员友好,并为您提供了访问所有服务器文件的根访问权限,您可以根据需要自由编辑这些文件。如果您不喜欢托管平台并希望停止使用,还提供无风险的随时退款保证。
Kamatera
Kamatera是一个受欢迎的云托管平台。它可以帮助您在几秒钟内设置、配置和启动Tomcat。您可以从直观的用户界面中选择要托管的Tomcat版本以及要托管的区域(地区)。
定价非常吸引人。
您可以从每月低至4美元的价格开始使用。
根据您选择的配置,Kamatera提供了各种定价选择。您可以选择按月计费或按小时计费。最棒的部分是前30天完全免费。
Virtuozzo
Virtuozzo提供了多云配置,您可以将应用程序托管在不同云上,以获得更高的可用性。在这里,您可以获得PaaS(平台即服务)和CaaS(容器即服务)模型的组合。
借助其简单的用户界面,您可以轻松选择tomcat应用程序及其版本。然后,仅需几秒钟即可启动。
Virtuozzo中的自动Tomcat集群提供了高可用性功能。因此,如果任何tomcat实例失败,将自动启动另一个实例。您的tomcat集群可以在Virtuozzo中实现自动垂直和水平扩展。但是,您也可以手动水平扩展集群。
Virtuozzo提供的其他功能包括:
- 支持微服务和传统应用程序
- 集成CI和CD工具以实现自动化
- 快速设置集群应用程序
- 具有警报通知的内置监控系统
- 集成IDE插件:IntelliJ IDEA,Eclipse,NetBeans
- 无需任何停机时间即可部署的自动流量分配
- 共享环境和不同访问级别的帐户协作
- 市场上具有丰富预配置应用程序的一键安装
JavaPipe
另一个Tomcat的托管平台是Java Hosting Service。它包含了用于hibernate、Spring MVC、Servlets和JSPs、Grails、Play等的内置插件。
使用JavaPipe,您可以从每月5.40美元开始,即可获得专用的Tomcat实例版本7、8或9,并支持JDK 7、8、10或11。它为您提供128 MB至2 GB的专用RAM和无限制访问MariaDB。您还将获得每月200 GB的流量和5 GB的SSD存储空间。Java Hosting平台还提供其他定价选项,提供更多的每月流量和SSD存储空间。
此外,如果您支付三年费用,您将获得40%的折扣。因此,如果您考虑长期托管计划,这可能会有利。
结论
以上是关于Tomcat安装和托管平台的全部内容。如果您有兴趣自行托管Tomcat,但希望在云上托管,请查看these platforms。