ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

乌班图20.04上安装java配置tomcat9

2022-02-05 23:02:48  阅读:251  来源: 互联网

标签:opt java 乌班图 tomcat sudo 用户 Tomcat 20.04 latest


原文参考: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

标签:opt,java,乌班图,tomcat,sudo,用户,Tomcat,20.04,latest
来源: https://www.cnblogs.com/1314520xh/p/15865044.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有