linux上部署与配置tomcat

Linux环境部署war包流程及tomcat配置 现在的部署当然都是写好自动化脚本在Linux下一跑就完事了,但是一方面每个项目的部署环境不一样,即使部署在同一个服务器上tomcat也不一样,所以自动化脚本也是千变万化;另一方面再牛逼的自动化脚本也是在基本的流程基础上编写的,所以这里不讨论自动化脚本咋写,而是认识一下Linux环境部署war包流程,抓住最基本的流程。 一、tomcat配置 发布... 阅读详情

本文首发于我的个人网站: https://hewanyue.com/
本文作者: Hechao
本文链接: https://hewanyue.com/blog/b365780e.html

  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。本文将详细讲解tomcat在linux环境(以CentOS为例)中的安装与配置。

安装jdk

  JDK是java Development Kit的缩写,即java语言的软件开发包,是javac、javap、jdb等开发、调试、编译工具。
  OpenJDK是Sun公司采用GPL v2协议发布的JDK开源版本,可以用于商业用途,于2009年正式发布。它是基于JDK7的beta版开发,但为了也将java SE 6开源,从OpenJDK7的b20构建反向分之开发,从中剥离了不符合java SE 6规范的代码,发布了OpenJDK 6。所以OpenJDK6和JDK6没有关系。
  在CentOS中,可以选择yum安装openjdk

yum install java-1.8.0-openjdk

  通过java -version可以看到版本信息为

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8,0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04,mixed mode)

  也可以去Oracle官网下载JDK 8的rpm包安装(需要注册)

yum install jdk-8u191-linux-x64,rpm

  而通过java -version看到版本信息为

[root@localhost ~]#  java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

部署tomcat

  确定JDK版本之后,我们就可以准备开始部署tomcat了。
  首先要去官网下载源码包,国内用的是清华大学的镜像下载地址,下载速度还是可以接受的。
  生产中我们一般不会选用最新版的tomcat9,而是选用tomcat8更为稳妥。tomcat8的下载链接是http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.47/bin/apache-tomcat-8.5.47.tar.gz

  解压到想要安装的任意指定目录,例如/apps/tomcat/目录

tar xvf apache-tomcat-8.5.47.tar.gz -C /apps/

  更改目录名称(也可以用软连接方式)。

mv /apps/apache-tomcat-8.5.47 /apps/tomcat

配置环境变量

  jdk需要配置环境变量才可以找到,否则会无法访问jsp文件。
  需要在环境变量配置文件中加入

export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH

  于是,运行下面命令即可

cat > /etc/profile.d/jdk.sh <<"END"
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
END

  运行命令使环境变量生效

. /etc/profile.d/jdk.sh

修改进程属主

  一般来说,tomcat服务如果以root身份启动,风险还是很高的,因为tomcat本身bug还是有不少的,如果被别有用心之人加以利用,入侵进来,就可以获得root权限,这造成的后果绝对是灾难级的,这甚至会威胁到其他服务器的安全。为了规避这一风险,我们一般都会将tomcat服务以一个系统用户的身>份启动,例如java用户。
  创建java用户useradd -r java
  更改服务目录的属主属组chown -R tomcat/*
  启动服务时,我们使用命令su - java -c '/apps/tomcat/bin/startup.sh'来启动,就可以以java用户的身份来启动进程了。

配置文件

  tomcat中配置文件目录在tomcat/conf/server.xml,其中需要注意的是:

<Server port="8005" shutdown="SHUTDOWN">

  这代表管理端监听在8005端口,向管理端发送SHUTDOWN指令就会是tomcat直接终止,而且这是不需要密码权限控制的。如果在生产环境中,如果有任何人有意或者无意向tomcat服务器的8005端口发送了SHUTDOWN指令,整个服务都会被终止掉,,而且还不需要密码验证,这对我们的影响无疑是巨大的,所以我们通常都会将此处的管理监听端口改掉,或将shutdown指令设为别的复杂口令,让别人无法轻易或不小心将我们的服务器shutdown~
  可采取MD5值的方式,选任一文件做MD5运算后得到的随机数值即为口令。

sed -i "s@SHUTDOWN@`md5sum /root/.ssh/authorized_keys |cut -d' ' -f1`@" tomcat/conf/server.xml

  此时,就可以通过安装目录下的tomcat/bin/startup.sh来启动tomcat服务了。

su - java -c '/apps/tomcat/bin/startup.sh'

  然后查看端口

ss -tanl

  即可看到8080端口已经处于监听状态了

[root@localhost ~]# ss -tanl
State       Recv-Q Send-Q                     Local Address:Port                                    Peer Address:Port              
LISTEN      0      128                                    *:22                                                 *:*                  
LISTEN      0      100                            127.0.0.1:25                                                 *:*                  
LISTEN      0      100                                   :::8009                                              :::*                  
LISTEN      0      100                                   :::8080                                              :::*                  
LISTEN      0      128                                   :::22                                                :::*                  
LISTEN      0      100                                  ::1:25                                                :::*                  
LISTEN      0      1                       ::ffff:127.0.0.1:8005                                              :::*                  
[root@localhost ~]# 

  访问tomcat服务器的ip的8080端口,可看到如下图所示界面,即表示tomcat安装成功。
在这里插入图片描述
  不过,想使用tomcat自带的Manager App及Host Manager工具,还需要做一些额外的配置,此时如果直接访问会显示403权限拒绝,如下图所示。
在这里插入图片描述

修改应用访问控制

  错误提示说明已经说得很明白了,首先确保已经修改了应用的反问控制权限,,如果还没有,you’ll need to edit the Manager’s context.xml file。
  那这个context.xml在哪里呢?它是指应用的上下文设置文件,路径就是tomcat目录下的webapps/manager/META-INF/context.xml文件,另一个应用Host Manager的路径就是tomcat目录下的webapps/host-manager/META-INF/context.xml
  所以我们要修改这两个配置文件中的访问控制,将我们的访问IP加到里面,这样我们的访问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|172.18.*|192.168.32.*" />

  在allow=标签后面,加上我们的ip,支持通配符写法和PCRE格式的正则表达式写法,用|隔开。两个应用的配置文件都要修改。

创建权限角色

光将我们的来访IP加入许可白名单还是不够的,我们还需要一个有权限的账户才可以访问这些管理工具
路径是tomcat目录下的conf/tomcat-users.xml文件。

<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">
    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <user username="admin" password="123456" roles="manager-gui,admin-gui"/>

  在下面加入后三行,先创建角色"manager-gui"和"admin-gui",分别是Manager App的管理员和Host Manager的管理员。然后设置用户名密码及其所处的角色,也可以设置两个不同的用户来分别充当这两个角色。用户名密码可自行设置。

    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <user username="admin" password="123456" roles="manager-gui,admin-gui"/>

  有了管理员权限的账户,在被允许的客户端上就可以访问Manager App和Host Manager这两个工具了。点击图标访问,出现如下图所示的提示输入用户名密码弹窗,说明配置正确。
在这里插入图片描述

附:一键部署tomcat脚本

  附上我自己用的tomcat脚本供大家参考(未配置管理工具)

DST="/apps"
[ -a jdk-8u231-linux-x64.rpm ] || { echo ' the absence of jdk' ;exit 1;}
[ -d $DST/*tomcat* ] && { echo "tomcat is aready installed into $DST/tomcat" ;exit 2;}
id java &>/dev/null && { echo 'user java is exist,redis is aready installed' ; exit 3;}
iptables -F
systemctl disable firewalld
sed -i '@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config
setenforce 0
mkdir -p /data$DST
#mkdir -p $DST
ln -s /data$DST $DST
yum install jdk-8u231-linux-x64.rpm
tar xf *tomcat-*.tar.* -C $DST/
mv $DST/*tomcat-* $DST/tomcat
sed -i "s@SHUTDOWN@`md5sum /root/.ssh/authorized_keys |cut -d' ' -f1`@" $DST/tomcat/conf/server.xml
cat > /etc/profile.d/jdk.sh <<"END"
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
END
. /etc/profile.d/jdk.sh
useradd -r java
chown -R java.java $DST/tomcat/*
su - java -c '$DST/tomcat/bin/startup.sh'
Linux下使用tomcat发布Web项目 立即下载

相关推荐

Slurm集群调度策略详解(1)-主调度

Slurm调度系统中针对作业的调度主要有三种,主调度,回填调度,GANG调度,这篇文章主要针对主调度进行解析。

h_m_l的博客 6031

登陆远程服务器的Tomcat 8的manger的页面403

访问远程服务器Tomcat 8的管理页面报错 在远程服务器上安装了一个tomcat8.5,配置好用户后重新启动tomcat ,发现:8080可以访问,但是进入:8080/manager/html页面报403访问受限,具体报错信息如下: 403 Access Denied You are not authorized to view this page. By defa...

weixin_33699914的博客 539

深入解析report_timing:从基础参数到高级时序路径分析技巧

本文深入解析了静态时序分析(STA)中`report_timing`命令的核心用法与高级技巧。作为芯片设计的关键诊断工具,它能根据SDC约束精准定位时序路径问题。文章从基础参数过滤讲起,详细介绍了如何通过`-from`、`-through`、`-to`等选项定位关键路径,并深入讲解了`-input_pins`、`-nets`、`-transition_time`等高级选项如何揭示延迟细节,以及`-nworst`、`-slack_lesser_than`等过滤排序技巧,旨在帮助工程师高效解读时序报告,优化设计

h6i7j8的博客 1108

tomcat8.5打开manager页面报错的问题

之前用的8.0版本的tomcat,最近需要将版本升级,当前8的最新的版本是8.5.42,升级之后发现manager页面打不开了,就是下面这个按钮的页面 点击之后报403没权的错误 还是按照8.0版本的配置方法,在conf/tomcat-users.xml中配置权限和用户名密码,类似页面提示的这样。 <role rolename="manager-gui"/> ...

weixin_30315905的博客 1113

从CAD到Web:高效转换STEP/IGES模型为GLB格式的实践指南

本文详细介绍了如何将工业设计中的STEP/IGES模型高效转换为Web友好的GLB格式。通过PythonOCC和gltf-pipeline等工具链,实现从CAD到Web的无缝转换,大幅提升模型加载速度和展示效果。文章包含实战案例、优化技巧和常见问题解决方案,帮助开发者快速掌握3D模型转换技术。

weixin_29072299的博客 509

STM32H743必要外围电路分析

写在前面:这篇博客是我第一次绘制STM32最小系统板的过程记录。 2020-1-11 BOOT STM32采用ARM内核,和ARM处理器一样,都有专门的boot脚决定单片机从何处启动。 在官方数据手册的第105页,我们可以看到 系统复位后,在SYSTICK的第四个上升沿锁存BOOT引脚的值,复位后,BOOT引脚可以由用户自由配置而不会影响系统正常运行。 BOOT引脚决定了自举存储器地址,当BO...

Cui_Hongwei的博客 1万+

访问tomcat的manager提示403

You are not authorized to view this page. By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit t...

往復不息的博客 5597

IC 时钟设计核心问题与高质量系统设计指南(附源码)

本文深入探讨了IC时钟设计的核心问题与高质量系统设计方法。时钟系统作为IC的"心脏",其性能直接影响时序稳定性、功耗效率和可靠性。文章从五个维度展开分析:时钟源选择与性能匹配、时钟分配网络设计、抖动抑制、多时钟域管理和功耗优化。针对高质量时钟系统设计,提出了时钟源优化、时钟树结构优化、干扰抑制与仿真验证等具体方法。同时,系统阐述了时钟与复位的协同设计关系,强调异步复位同步释放等技术的重要性。文章还总结了高质量IC系统设计的综合要点,包括电源/信号完整性、时序功耗平衡、可靠性设计及全流程验

Open 1060

tomcat 小问题个人汇总

访问权限问题 对于manager页面,在已经设置了用户和manager-gui, manager-script权限之后,仍然报403权限问题 Manager 403 Access Denied: You are not authorized to view this page. By default the Manager is only accessible from a browser

To_yan的博客 3789

华为OD机试 - 商品推荐多属性排序 - 数组(Python/JS/C/C++ 双机位A卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。双十一来临,小王准备买某个购物平台买坚果。在输入坚果时,页面默认按照综合推荐列表。小王想知道这个综合排序时如何完成的,于是便开始思考算法题。经过一番操作后,完成它的多个关键词排序算法。希望你给小王提供一份正确的排序结果,验证其实现算法结果的准确性

学Java,找哪吒 622

CEEMDAN算法及其应用

本博文主要介绍CEEMDAN算法的原理及其在信号去噪方面的应用

总结论文中的算法并给出论文的复现代码 6万+

登陆远程服务器的Tomcat管理页面

在远程服务器上安装了一个tomcat8.5,配置好用户后重新启动tomcat ,发现:8080可以访问,登录管理页面报403访问受限,详细信息如下 You are not authorized to view this page.By default the Manager is only accessible from a browser running on the same machine...

weixin_34124651的博客 500

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

linux 安装 配置tomcat8,linux安装配置多个tomcat,linux安装部署2个以上tomcat

一、Tomcat下载 点击此处进入官网下载tomcat 二、Tomcat安装部署 1.创建路径并上传tomcat --创建文件夹 mkdir /tomcat --进入文件夹 cd /tomcat --解压文件 tar -xzvf apache-tomcat-8.5.47.tar.gz --重命名 mv apache-tomcat-8.5.47 tomcat8.5-8080 ...

徐本锡的专栏 132万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Linux系统下Tomcat安装配置及JavaWeb应用部署】

Tomcat是一个开源的Web应用服务器tomcat linux 安装,被广泛应用于Java Web开发中。本文将详细介绍如何在Linux系统上安装和配置Tomcat,帮助开发者快速部署Java Web应用。提示:以下是本篇文章正文内容,下面案例可供参考以上就是今天要讲的内容,本文仅仅简单介绍了Linux系统下Tomcat安装配置及JavaWeb应用部署,其他情况还请查阅参考其他文献。

同心 805

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

linux配置jdk部署多个tomcat

一、安装jdk环境(Xshell 6) 1、首先将下载好的jdk上传(软件xftp6); 例:/usr/lib/java/jdk1.7.0_55 2、配置全局变量 vi /etc/profile 将下面的加入到文件最后面: export JAVA_HOME=/usr/lib/java/jdk1.7.0_55 export JRE_HOME=/usr/lib/java...

Crazyrookie2015的博客 725

Linux配置jdk,tomcat,mysql已经如何部署项目

1.下载putty,之后会有pscp。exe,后面可以用来传送文件2.关闭本地防火墙34.从windows中上传文件到linux,应先将文件压缩。以jdk为例输入pscp(空格)文件地址(空格)远程linux用户名 @远程公网IP:/要存放的地址,回车之后输入远程linux用户密码...

weixin_42134685的博客 363

在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )

系统版本:centos6.5版本 java版本:1.7一、准备工作1、java -version 检查是否有java环境,没有则需要去安装并配置到环境变量中。2、下载tomcat包,下载地址:http://tomcat.apache.org/download-70.cgi可以本地下载后上传到服务器上,也可以直接在服务器上使用wget命令下载,本案例直接使用wget命令下载 : [root@

神奇Sam的博客 3万+

tomcat mysql 集群部署_Linux部署及Mysql,tomcat安装配置

1. Linux项目部署说明1.1 部署流程图1.2 Linux安装Mysql数据库具体参见博客文档 ,数据库安装.1.3 修改jt-manage的配置1.3.1 修改图片上传地址说明:在Linux目录中指定一个图片存储的目录1.3.2 项目打包及发布1.3.3 上传war包文件1.3.4 代码修改遗留问题:1.3.5 项目发布通过IP地址访问即可.1.4 tomcat集群部署1.4.1 war包...

weixin_39706127的博客 142

Linux下部署多个项目,tomcat如何配置?

Linux下部署多个项目,tomcat如何配置? 1.进入tomcat目录,conf文件夹中找到server.xml文件,配置多个webapps即可,如下图所示: 2.修改端口号,多个项目端口号应不相同,前后端打包时端口号记得调整。 ...

qq_43354717的博客 678

两个tomcat linux环境变量配置,linux下java环境变量配置及部署多个tomcat

linux上java环境变量配置及部署多个tomcatLinux下java环境变量设置的完整步骤:从java.sun.com上下载JDK的安装文件,一般是jdk1.5.0_10_XXXX.bin的格式。解开生成JDK目录,这里假设JDK安装在/usr/java/jdk1.5.0_10中:代码:sudo chmod 755 jdk1.5.0_10_XXXX.binsudo ./jdk1.5.0_10...

weixin_42513054的博客 230

Linux部署多个Tomcat配置修改

多Tomcat部署配置修改 修改配置文件: /opt/tomcat8.5/nps-tomcat8865/conf/server.xml ,修改以下三个配置端口为未被占用端口 <Server port="8007" shutdown="SHUTDOWN"> <Connector port="8081" protocol="HTTP/1.1" connectionTi...

SimpleWu 566

Linux安装配置Tomcat,部署Javaweb项目

即可启动Tomcat,注意在启动前需要查看Tomcat的配置端口是否与服务器的其他进程冲突,默认是8080端口,最好修改下端口;生成war包后,将生成的war文件放到服务器的Tomcat文件夹下的webapps下,然后在Tomcat文件夹下的bin目录下找到start.up文件,命令执行。正常解压完成后即可启动,但为了防止端口冲突,最好检查下配置,修改下端口,防止端口冲突导致不能正常启动。配置修改完成后,即可启动Tomcat,进入到bin目录,执行如下命令即可启动Tomcat。

zf_csdn123的博客 706

Linux服务器配置jdk,Tomcat,以及部署第一个web(超详细)

为了配置这些东西,本人走不了不少弯路,网上的教程都是很旧,要么2016,要么2018年,导致jdk部署的时候,环境变量出错了,也不知道,甚至在配置期间重置了服务器。所以结合着自己走的弯路,写一个新的教程,来帮助大家避免那些错误,吐槽到这,开始一步一步的讲 工具准备 一个用于远程连接的软件:putty,xshell等都可以 一个用于传送文件的软件,本人用的是xftp Linux服务器 第一步 jdk的配置 (1) 首先下载jdk,jdk要与你自己做web的jdk版本最好一致。 jdk下载下载点此 下载压

qq_45411646的博客 2501

linux tomcat上部署finereport可能会出现的配置问题

var200的博客 309

Linux服务器Tomcat生产环境部署与安全配置实战指南

Java Web应用部署的核心在于理解Servlet容器的工作原理及其与操作系统环境的协同。Tomcat作为广泛使用的轻量级Java Servlet容器,其价值在于为Java Web应用提供了稳定、高效的运行时环境。在Linux服务器上进行生产环境部署时,需系统性地处理环境配置、权限管理、性能调优与安全加固等关键环节。通过合理规划系统用户、配置JVM参数、优化连接器设置以及实施防火墙与SELinux策略,可以构建出高可用的服务架构。本文聚焦于Tomcat在Linux上的实战部署,深入解析server.xml

weixin_30394981的博客 455
上一篇: redis高可用配置
下一篇: MSM实现tomcat集群的session共享
MicePro
博客等级 码龄8年 216粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MicePro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值