apache tomcat是java servlet,javaserver pages,java expression language和java websocket技术的开源实现。
它是当今世界上使用最广泛的应用程序和web服务器之一。tomcat易于使用,并具有强大的生态系统。本教程介绍如何在centos 8安装tomcat 10。
tomcat 10需要java 8或更高版本。我们将安装openjdk 11,这是java平台的开源实现。
以root用户或具有sudo权限的用户运行命令sudo dnf install java-11-openjdk-devel安装java。
安装完成后,运行命令java --version检查是否安装正确。命令将会打印java的版本。
以root运行tomcat,具有安全风险。我们将创建普通用户运行tomcat,配并将tomcat用户的家目录设置为/opt/tomcat。
运行useradd命令sudo useradd -m -u -d /opt/tomcat -s /bin/false tomcat。
sudo dnf install java-11-openjdk-develjava -versionsudo useradd -m -u -d /opt/tomcat -s /bin/false tomcatopenjdk version 11.0.5 2019-10-15 ltsopenjdk runtime environment 18.9 (build 11.0.5+10-lts)openjdk 64-bit server vm 18.9 (build 11.0.5+10-lts, mixed mode, sharing)下载tomcattomcat二进制发行可从tomcat下载页面下载。在撰写本文时,最新的tomcat版本是9.0.30。
在继续下一运行步之前,请检查tomcat 10下载页面以查看是否有较新的版本。然后将运行wget命令将tomcat tar.gz文件下载到linux的临时目录/tmp。
下载完成后,解压缩tar.gz文件到/opt/tomcat目录。
version=9.0.30wget https://dlcdn.apache.org/tomcat/tomcat-9/v${version}/bin/apache-tomcat-${version}.tar.gz -p /tmpsudo tar -xf /tmp/apache-tomcat-${version}.tar.gz -c /opt/tomcat/tomcat会定期进行更新。为了更好地控制版本和更新,我们将创建一个名为latest的符号链接,该链接指向tomcat的安装目录。
运行chmod命令使bin目录中的shell脚本具有可执行权限,这些脚本用于启动和停止tomcat。
将/opt/tomcat目录的所有权更改为tomcat用户和tomcat组,使tomcat用户可以访问 /opt/tomcat目录。运行命令sudo chown -r tomcat: /opt/tomcat。
sudo ln -s /opt/tomcat/apache-tomcat-${version} /opt/tomcat/latestsudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'sudo chown -r tomcat: /opt/tomcat创建systemd服务单元我们将其设置为服务运行,而不是手动启动和停止tomcat服务器。
打开您喜欢的文本编辑器,创建文件tomcat.service在/etc/systemd/system/目录。在本教程中我们将使用vim创建文件。
完成后,保存文件并退出vim。然后运行systemctl daemon-reload命令重新加载配置文件。
运行命令sudo systemctl enable --now tomcat启动tomcat服务并自动启动。systemctl restart tomcat命令重启tomcat服务。
sudo vim /etc/systemd/system/tomcat.servicesudo systemctl daemon-reloadsudo systemctl enable --now tomcatsudo systemctl restart tomcatsudo systemctl status tomcat[unit]description=tomcat 10 servlet containerafter=network.target[service]type=forkinguser=tomcatgroup=tomcatenvironment=java_home=/usr/lib/jvm/jreenvironment=java_opts=-djava.security.egd=file:///dev/urandomenvironment=catalina_base=/opt/tomcat/latestenvironment=catalina_home=/opt/tomcat/latestenvironment=catalina_pid=/opt/tomcat/latest/temp/tomcat.pidenvironment=catalina_opts=-xms512m -xmx1024m -server -xx:+useparallelgcexecstart=/opt/tomcat/latest/bin/startup.shexecstop=/opt/tomcat/latest/bin/shutdown.sh[install]wantedby=multi-user.target● tomcat.service - tomcat 10 servlet container loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled) active: active (running) since wed 2020-01-15 20:38:07 utc; 30s ago process: 3957 execstart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/success) ...配置防火墙如果您centos 8正在运行防火墙服务firewalld,并且您想从外部网络访问tomcat服务,则需要打开端口8080。
运行sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp命令打开80端口。
通常,在生产环境中运行tomcat时,应使用反向代理。最佳做法是只允许从内部网络访问端口8080。
如果已经配置nginx的反向代理,请运行最后两个firewall-cmd命令打开端口80和443。
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcpsudo firewall-cmd --permanent --zone=public --add-port=443/tcpsudo firewall-cmd --permanent --zone=public --add-port=80/tcp配置tomcat web至此,您应该能够使用web浏览器访问tomcat。由于我们尚未创建用户,因此无法访问tomcat管理界面。
我们可以在tomcat-users.xml文件中定义tomcat用户和角色。继续使用vim编辑文件tomcat-users.xml。
创建tomcat web用户manager-gui和admin-gui,如下所示。确保密码更改为更安全的密码。
sudo vim /opt/tomcat/latest/conf/tomcat-users.xml 默认情况下,tomcat web配置为仅允许从本地主机访问。如果您需要外部网络访问web界面。
请打开/opt/tomcat/latest/webapps/manager/meta-inf/context.xml文件并注释以下行。
通常,不建议从任何地方允许访问,因为这会带来安全风险。
如果您只想从指定ip访问tomcat web,则无需注释这些xml片段,而是将您的外网ip添加到列表中。
允许的ip地址列表是用竖线|分隔的列表。您可以添加单个ip地址或使用正则表达式。
假设您的公开ip为41.41.41.41,而您只想仅从ip访问tomcat web。完成后,重新启动tomcat服务以使更改生效。
sudo systemctl restart tomcat测试安装打开浏览器,输入url ttp://:8080。tomcat web允许您部署,取消部署,启动,停止和重新加载应用程序。
可以打开url http://:8080/manager/html找到它。
结论我们已经向您展示了如何在centos 8安装tomcat 10以及如何访问tomcat管理界面。
集成电路上晶体管结构的那些事儿
研究人员创建全固态电池的3D虚拟副本
凌华科技推出采用最新英特尔®至强® D处理器的边缘服务器级COM-HPC服务器模块和COM Express Type 7模块
新冠病毒蔓延 英国电信运营商宣布取消流量上限
基于80C196KC和L298N的直流电机PWM控制技术
如何在CentOS 8安装Tomcat 10
雷军发布微博宣布:做了透明版小米98+256GB版本
江苏省集成电路产业技术创新战略联盟
格力董明珠变身“野蛮人”?拿下海立股份的“一石三鸟”之计
智慧校园安装热成像系统检测体温异常情况
怎样借助人工智能来分类乐高积木
简易电孵箱电路图
ARM Cortex-M3的嵌入式网络播放系统设计应用
七彩虹iGameRTX2070SuperVulcanXOC拆解高清图赏
气动角座阀东北销售
三星S24系列将搭载Exynos自研处理器 北美市场仍用高通芯片
联想再度携手中科院共建HPC平台,为基因测序科学研究赋能
麻省理工学院提出更环保的AI训练方式,可降低碳排放
照明的革命---双强LED灯泡
星辰大海 予力同行 | 遨游“AIGC+元宇宙”世界,掌行业风口,占赛道先机