乌班图20.04上安装java配置tomcat9
原文参考:https://blog.csdn.net/u010763324/article/details/122678528
Apache Tomcat是一个开源的 Web 服务器和 Java servlet 容器。它是世界上最流行的选择,用来构建基于 Java 的网站和应用。
Tomcat 是一个轻量级,易于使用,并且有一个强壮的扩展生态系统。
一、安装 Java
Tomcat 9 要求在系统上安装 Java SE 8 或者更新版本。本文安装的是java1.8
sudo apt update sudo apt install openjdk-1.8-jdk
java -version

二、创建一个系统用户
以 root 用户运行 Tomcat 有一个安全风险。我们将会创建一个系统用户和用户组,
其主目录为/opt/tomcat。我们将会使用这个用户来运行 Tomcat 服务。想要这么做,输入下面的命令:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
三、下载 Tomcat
Tomcat 二进制发行版在 Tomcat 下载页面可以下载。
就在写作的时候,最新的 Tomcat 版本是 9.0.58。在继续下一步之前,检查 Tomcat 9 下载页面,看看是否有更新的版本可以下载。
使用wget来下载 Tomcat zip 文件到/tmp目录
VERSION=9.0.58
wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
一旦下载完成,解压 tar 文件到/opt/tomcat目录:
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
Tomcat 会定期更新 安全补丁和新功能。想要更好地升级版本和更新,我们将会创建一个符号链接,称为latest,指向 Tomcat 安装目录。
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
稍后,当升级 Tomcat 时,解压新的版本,并且修改符号链接,指向它。
前面创建的系统用户必须对 tomcat 安装目录有访问权限。修改目录归属到用户和用户组 tomcat:
sudo chown -R tomcat: /opt/tomcat
在 Tomcat bin目录下的 shell 脚本必须可执行:
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
这些脚本将会被用来启动,停止,以及其他对 Tomcat 的管理操作。
四、创建 SystemD 单元文件
查看java安装路径
which java 或 echo $JAVA_HOME

与使用 shell 脚本来启动和停止 Tomcat 服务器相比,我们将会将它作为服务来运行。
打开你的文本编辑器,并且在/etc/systemd/system/目录下创建一个 tomcat.service 单元文件。
sudo nano /etc/systemd/system/tomcat.service
粘贴下面的配置文件:
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/local/java-se-8u40-ri"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
保存并且关闭文件,通知 systemd 一个新的单元文件存在
sudo systemctl daemon-reload sudo systemctl enable --now tomcat sudo systemctl status tomcat

常用命令
sudo systemctl start tomcat sudo systemctl stop tomcat sudo systemctl restart tomcat
五、配置防火墙
如果你的服务器被防火墙保护,并且你想从外面访问你的Tomcat,你需要打开8080端口。
使用下面的命令打开必要的端口:
sudo ufw allow 8080/tcp
通常,当在生产环境运行 Tomcat 时,你应该是使用一个负载均衡,或者反向代理服务器。这是仅仅允许从你的本地网络访问`8080`端口的最佳实践。
此时通过ip:port 访问得到

六、配置 Tomcat 网页管理界面
正在此时,你应该通过一个浏览器在8080端口访问 Tomcat。网页管理界面不能访问,因为我们还没有创建一个用户。
Tomcat 用户和角色被定义在 tomcat-users.xml。这个文件是一个带有注释和示例的模板,展示如何创建一个用户和角色。
在这个例子中,我们将会创建一个用户“admin-gui” 和 “manager-gui” 角色。这个 “admin-gui”角色允许用户访问/host-manager/htmlURL 来创建,
删除和其他对虚拟主机的管理。这个“manager-gui”角色允许用户部署和解除部署 web 应用,而不用通过/host-manager/html界面重启整个容器。
打开tomcat-users.xml文件,创建一个新用户,像下面这样:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users> <!--
Comments
--> <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/> </tomcat-users>
确保你将用户名和密码修改得更加安全。
默认情况下,Tomcat 网页管理界面被配置仅仅从 localhost 访问 Manager 和 Host Manager 应用。想要从远程 IP 访问网页界面,你需要移除这些限制。
这可能会有一些安全隐患,我们不推荐在生产系统中这么做。
想要从任何地方都能访问网页界面,打开配置的两个文件,注释或者移除注释的部分。
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xml
对于 Host Manager:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" > <!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
--> </Context>
如果你只想从指定的 IP 访问网页界面,不要注释这一段,而是将你的公网 IP 地址加进去。
假如说你的公网 IP 是41.41.41.41,并且你想允许从那个 IP 访问网页界面:
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" /> </Context>
被允许的 IP 列表以|来分隔。你可以添加一个简单的 IP 地址,或者使用正则表达式。
一旦完成,重启 Tomcat 服务,使应用生效:
sudo systemctl restart tomcat
乌班图20.04上安装java配置tomcat9的更多相关文章
- Ubuntu 20.04上安装MySQL教程,ubuntu安装mysql
在Ubuntu 20.04上安装MySQL教程 先决条件 确保您以具有sudo特权的用户身份登录. 在Ubuntu上安装MySQL 在撰写本文时,Ubuntu存储库中可用的MySQL的最新版本是MyS ...
- 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...
- Ubuntu 16.04上安装并配置Postfix作为只发送SMTP服务器
如果大家已经在使用第三方邮件服务方案发送并收取邮件,则无需运行自己的邮件服务器.然而,如果大家管理一套云服务器,且其中安装的应用需要发送邮件通知,那么运行一套本地只发送SMTP服务器则更为理想. 如何 ...
- Ubuntu 20.04 Docker 安装并配置
前言 Docker 的使用能极大地方便我们的开发,减少环境搭建,依赖安装等繁琐且容易出错的问题. 安装 Docker Ubuntu 20.04 官方 apt 源中就有 Docker,我们可以直接通过 ...
- Ubuntu18.04上安装java
安装java8 sudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-j ...
- ubuntu16.04上安装Java
1.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择 ...
- ubuntu14.04上安装Java
apt-get安装 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install orac ...
- 如何在Ubuntu 20.04上安装和保护phpMyAdmin
转载csdn:cukw6666 https://blog.csdn.net/cukw6666/article/details/107985170
- buntu 16.04上安装和配置Samba服务器
https://www.linuxidc.com/Linux/2017-11/148194.htm
- Ubuntu 20.04上通过Wine 安装微信
没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己. 首先介绍下我使用过的其他方法,希望可以节省大家一些时间: Rambox Pro:因为原理是网页 ...
随机推荐
- 给react native 添加transform translateY动画报错:Transform with key of "translateY" must be a number:{translateY“:0}
初学react native,想实现一个相机扫描功能时,报错,报错描述如标题 这是我的主要逻辑代码 const fadeAnim = useRef(new Animated.Value(0)).cur ...
- How to use the shell, terminal and the advanced tools
How to use the shell, terminal and the advanced tools Introduction Why use English instead of Chin ...
- Golang 语言学习路线
学习Go语言是一个很好的选择,它具有高效的编译速度.强大的并发支持和简洁的语法.适用于初学者的Golang学习路线: 1. 学习基础: 安装Go:从官方网站下载并安装Go语言的最新版本. Hello, ...
- ARM开发板——实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取)
ARM开发板--实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取) 目录 ARM开发板--实时获取用户点击触摸屏的LCD坐标信息(阻塞式读取) 1.硬件信息 2.代码需求 3.代码实现 1.硬件信息 ...
- 大量数据topk-分桶+堆+多路并归解决方案
利用分桶.堆与多路归并解决 TopK 问题:结果处理阶段解析 在处理大规模数据时,TopK 问题是一个常见且具有挑战性的任务,即从海量数据中找出最大(或最小)的 K 个元素.为了高效地解决这个问题,我 ...
- PandasAI:当数据分析遇上自然语言处理
数据科学的新范式 在数据爆炸的时代,传统的数据分析工具正面临着前所未有的挑战.数据科学家们常常需要花费70%的时间在数据清洗和探索上,而真正的价值创造时间却被大幅压缩.PandasAI的出现,正在改变 ...
- Altium designer21启动慢的解决方法
安装altium designer21,启动非常慢,卡在starting GUI manager步骤,经搜索确认是卡在了网络等待环节. 解决办法: 1.先等待进入软件. 2.进入后点击右上角的⚙齿轮图 ...
- Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ
CentOS7安装Docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经 ...
- vscode配置xdebug断点调试thinkphp
vscode配置xdebug断点调试thinkphp其实和配置其他php框架的断点调试一样,步骤如下: 下载xdebug,重命名为php_xdebug.dll并移动到php.ini目录: (不知道下载 ...
- css给dom插入/追加文字/内容
A.使用选择器来插入内容 h2:before{ content:"前缀"; } h2:after{ content:"后缀"; } B.指定个别的元素不进行插入 ...