了解如何安装 Tomcat 以及一些用于部署 Tomcat 应用程序的云托管选项。
这篇博文有两个部分。第一部分介绍了如何自行在 Ubuntu 上安装 Apache Tomcat,第二部分介绍了可用于托管 Tomcat 应用程序的最佳托管平台。
什么是 Apache Tomcat?
Apache Tomcat是 Apache 基金会提供的开源 Web/应用程序服务器。它以前被称为雅加达。这是一个 HTTP 服务器和 servlet 容器。默认情况下,它在端口 8080 上运行。
Tomcat 实现了 Java Servlet 和 Java Server Pages 规范。提供用于运行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 版本。
@:~$ 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包
@:~$ 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包。
@:~$ tar -xzf apache-tomcat-9.0.27.tar.gz- 出于安全原因,请为 Tomcat 创建单独的系统用户。
@:~$ sudo useradd -r -m -U -d /home//apache-tomcat-9.0.27 -s /bin/false tomcat
[sudo] password for :- Tomcat 用户必须具有 Tomcat 安装目录的完全访问权限。此命令将安装目录的所有权更改为 Tomcat 用户。
@:~$ sudo chown -RH tomcat: apache-tomcat-9.0.27- Tomcat的bin目录下的所有脚本都必须是可执行的,所以添加执行权限。
@:~$ sudo sh -c 'chmod +x apache-tomcat-9.0.27/bin/*.sh'- 要将 tomcat 作为服务运行,请在
/etc/systemd/system/中创建文件tomcat.service。
我想知道为什么?这是为了让 Tomcat 在服务器重新启动时自动启动。
@:~$ sudo gedit /etc/systemd/system/tomcat.service- 将以下内容复制并粘贴到文件中。根据您的Java安装路径更改
JAVA_HOME路径。
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/home//apache-tomcat-9.0.27"
Environment="CATALINA_HOME=/home//apache-tomcat-9.0.27"
Environment="CATALINA_PID=/home//apache-tomcat-9.0.27"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/home//apache-tomcat-9.0.27/bin/startup.sh
ExecStop=/home//apache-tomcat-9.0.27/bin/shutdown.sh
[Install]
WantedBy=multi-user.target- 运行以下命令以通知系统您创建的新服务文件。
@:~$ sudo systemctl daemon-reload- 启动 Tomcat 服务。
@:~$ sudo systemctl start tomcat- 检查Tomcat服务是否处于运行模式。
@:~$ 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//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//apache-tomcat-9.0.27/conf/logg
Nov 18 14:41:12 systemd[1]: Starting Tomcat 9 servlet container...
Nov 18 14:41:12 systemd[1]: Started Tomcat 9 servlet container.- 您可以通过运行以下命令来请求系统在启动时自动启动Tomcat:
@:~$ sudo systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.- 确保您的防火墙不会阻止 Tomcat 运行。打开 Tomcat 运行的端口 8080。
@:~$ sudo ufw allow 8080/tcp
Rules updated
Rules updated (v6)- 编辑
tomcat-users.xml文件,其中定义了 tomcat Web 管理界面的所有用户和角色。
@:~$ sudo gedit apache-tomcat-9.0.27/conf/tomcat-users.xml- 我们还为 Tomcat 用户授予了 manager-gui 角色,这允许他使用不同的凭据访问 Web 管理界面。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
You must define such a user - the username and password are arbitrary. It is
strongly recommended that you do NOT use one of the users in the commented out
the section below since they are intended for use with the examples web
application.
-->
<!--
NOTE: The sample user and role entries below are intended for use with the
examples web application. They are wrapped in a comment and thus are ignored
when reading this file. If you wish to configure these users for use with the
examples web application, do not forget to remove the <!.. ..> that surrounds
them. You will also need to set the passwords to something appropriate.
-->
<!--
-->
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="tomcat" password="admin" roles="manager-gui"/>
</tomcat-users>- 打开您喜欢的浏览器并访问http://localhost:8080 。

- 现在导航到 Tomcat Web 仪表板所在的http://localhost:8080/manager/html 。系统会要求您登录。使用用户名 tomcat 和密码 admin 登录。该界面允许您通过单击按钮来启动、停止、重新加载和部署应用程序。

恭喜! Tomcat 9已在Ubuntu 18.04上成功安装。
现在是关于托管平台及其功能的第二部分。
A2 托管
A2托管平台声称Tomcat托管是最快、最简单、最可靠的。 A2 的 Turbo Boost VPS 让您的运行速度提高 20 倍。
我们为平台上发生的托管问题提供 24/7 支持,并保证 99.9% 的正常运行时间。这使得 A2 成为一个非常可靠的托管平台。

它提供了充足的选项来定制您在平台上所需的资源。 A2 对于开发人员来说很容易使用,为他们提供了对所有服务器文件的 root 访问权限,并可以根据需要自由编辑它们。如果您不喜欢该托管平台并想停止使用它,我们随时提供无风险退款保证。
镰寺
Kamitera是一个流行的云托管平台。帮助您在几秒钟内设置、配置和启动 Tomcat。您可以通过易于理解的用户界面选择要托管的 Tomcat 版本以及托管它的区域(区域)。

定价非常有吸引力。
您每月只需支付 4 美元即可开始。
根据您选择的配置,Kamatera 提供多种定价选项。您还可以选择按月或按小时定价选项。最好的部分是前 30 天内完全免费。

维图奥佐
Virtuozzo提供多云配置,允许您在单独的云上托管应用程序,以获得更高的可用性。在这里你可以获得PaaS(平台即服务)和CaaS(容器即服务)模型的组合。
简单的用户界面可以轻松选择 Tomcat 应用程序及其版本。之后,启动只需几秒钟。

Virtuozzo 的自动 Tomcat 集群提供了高可用性功能。因此,如果一个 Tomcat 实例出现故障,另一实例将自动启动。 Tomcat 集群可以使用 Virtuozzo 自动垂直和水平扩展。但是,您也可以手动水平扩展集群。
Virtuozzo 提供的其他功能包括:
- 微服务和遗留应用程序支持
- 用于自动化的集成 CI 和 CD 工具
- 快速设置集群应用程序
- 内置监控系统,带有警报通知
- 集成 IDE 插件:IntelliJ IDEA、Eclipse、NetBeans
- 自动流量分配,无需停机即可部署
- 具有不同访问级别的共享环境和帐户联合
- 具有丰富的预配置应用程序的市场,可以一键安装
java管道
另一个托管平台是 Tomcat 的Java 托管服务。它包括内置插件,如 Hibernate、Spring MVC、Servlet 和 JSP、Grails 和 Play。
借助 JavaPipe,您每月只需支付 5.40 美元即可获得支持 JDK 7、8、10 或 11 的专用 Tomcat 实例版本 7、8 或 9。提供 128 MB 至 2 GB 专用 RAM 和对 MariaDB 的无限制访问。您每月还可以获得 200 GB 的流量和 5 GB 的 SSD 存储空间。 Java 托管平台还具有其他定价选项,可提供更多的每月流量和 SSD 存储。
如果您支付 3 年的费用,还可以享受 40% 的折扣。因此,如果您能想到一个长期的托管计划,这可能是有益的。

结论
这就是 Tomcat 安装和托管平台的全部内容。如果您有兴趣在云上托管 Tomcat,请查看这些平台。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

