linux下tomact安装和使用

tomcat的使用和创建

1.官网找tomact包路径

1
https://tomcat.apache.org/download-80.cgi

2.复制路径,下载

1
2
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-7/v7.0.104/bin/apache-tomcat-7.0.104.tar.gz

3.解压

1
2
tar zxvf apache-tomcat-8.5.56.tar.gz
tar zxvf apache-tomcat-7.0.104.tar.gz

4.移动和开始

1
2
3
4
5
6
创建文件
mkdir use
mkdir tomcat
移动
mv apache-tomcat-8.5.56 /use/tomcat
mv apache-tomcat-7.0.104 /use/tomcat

tomcat

1
2
3
4
开始
sh /use/tomcat/apache-tomcat-8.5.56/bin/startup.sh
结束
sh /use/tomcat/apache-tomcat-8.5.56/bin/shutdown.sh

5.自动化tomcat开启或关闭

1
2
3
shell时间写法
time=$(date "+%Y-%m-%d %H:%M:%S")
echo $time

1.sh开启

1
2
3
4
5
6
7
8
9
10
vi tomcat.sh
#!/bin/sh
/use/tomcat/apache-tomcat-8.5.56/bin/startup.sh
echo "开启tomcat"
sleep 2m
/use/tomcat/apache-tomcat-8.5.56/bin/shutdown.sh
echo "关闭tomcat"

chmod +x tomcat.sh
sh tomcat.sh

2.crontab开启tomcat

1
2
3
4
crontab -e
* * * * * /root/tstart.sh >> /root/log
service crond restart
crontab -l

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
tomcatPath=/use/tomcat/apache-tomcat-8.5.56/
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath bin路径:$binPath"
pid=`ps aux | grep "/use/tomcat/apache-tomcat-8.5.56/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
echo "[info][$(date +'%F %H:%M:%S')]tomcat已经启动,准备使用shutdown命令关闭..."
$binPath"/shutdown.sh"
sleep 2
pid=`ps aux | grep "/use/tomcat/apache-tomcat-8.5.56/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭失败,准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 1
else
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭成功!"
fi
else
echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
fi
echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
$binPath"/startup.sh"

3.crontab关闭tomcat

1
2
3
4
5
6
7
crontab -e
30 * * * * /root/tomcat/tstart8.sh >>/root/tomcat_log
40 * * * * /root/tomcat/tdown8.sh >>/root/tomcat_log
30 * * * * /root/tomcat/tomcat/tstart7.sh >>/root/tomcat_log
40 * * * * /root/tomcat/tdown7.sh >>/root/tomcat_log
service crond restart
crontab -l

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
tomcatPath=/use/tomcat/apache-tomcat-8.5.56/
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath bin路径:$binPath"
pid=`ps aux | grep "/use/tomcat/apache-tomcat-8.5.56/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
echo "[info][$(date +'%F %H:%M:%S')]tomcat已经启动,准备使用shutdown命令关闭..."
$binPath"/shutdown.sh"
sleep 2
pid=`ps aux | grep "/use/tomcat/apache-tomcat-8.5.56/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭失败,准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 1
else
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭成功!"
fi
fi

4.开启时发生错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

cd /use/tomcat/apache-tomcat-8.5.56/bin
vi setclasspath.sh

cd /use/tomcat/apache-tomcat-7.0.104/bin
vi setclasspath.sh



解决方法:
export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export JRE_HOME=/usr/local/java/jdk1.8.0_251/jre


export JAVA_HOME=/usr/local/java/jdk1.7.0_80
export JRE_HOME=/usr/local/java/jdk1.7.0_80/jre


service tomcat start

5.改端口号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
cd /use/tomcat/apache-tomcat-7.0.104/conf
vi server.xml

1.8005端口是用来关闭Tomcat服务的端口,如果此端口被占用,可在配置文件中将8005改成其他端口
<Server port="8005" shutdown="SHUTDOWN">

2.此连接器是负责建立HTTP连接。再通过浏览器访问Tomcat服务器的web应用时使用的就是这个端口,如果此端口被占用可将其修改一个未被占用的端口,例如 将上面代码中的port="8080"修改为port="8081",即可将Tomcat的默认端口设置为8081。在修改端口时,应避免与公用端口冲突。建议采用默认的8080端口,不要修改,除非8080端口被其他程序所占用。
<Connector port="8787" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />


3.此连接器负责和其他的HTTP服务器建立连接,再把Tomcat与其他的HTTP服务集成时需要使用此连接器。如果此端口被占用,可在配置文件中将8009改成其他端口
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />

1.
<Server port="8006" shutdown="SHUTDOWN">
2.
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3.
<Connector protocol="AJP/1.3"
address="::1"
port="8010"
redirectPort="8443" />

6.tomcat7的脚本

开启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash
tomcatPath=/use/tomcat/apache-tomcat-7.0.104/
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath bin路径:$binPath"
pid=`ps aux | grep "/use/tomcat/apache-tomcat-7.0.104/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
echo "[info][$(date +'%F %H:%M:%S')]tomcat已经启动,准备使用shutdown命令关闭..."
$binPath"/shutdown.sh"
sleep 2
pid=`ps aux | grep "/use/tomcat/apache-tomcat-7.0.104/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭失败,准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 1
else
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭成功!"
fi
else
echo "[info][$(date +'%F %H:%M:%S')]tomcat未启动!"
fi
echo "[info][$(date +'%F %H:%M:%S')]准备启动tomcat..."
$binPath"/startup.sh"

关闭

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
tomcatPath=/use/tomcat/apache-tomcat-7.0.104/
binPath="$tomcatPath/bin"
echo "[info][$(date +'%F %H:%M:%S')]正在监控tomcat,路径:$tomcatPath bin路径:$binPath"
pid=`ps aux | grep "/use/tomcat/apache-tomcat-7.0.104/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
echo "[info][$(date +'%F %H:%M:%S')]tomcat已经启动,准备使用shutdown命令关闭..."
$binPath"/shutdown.sh"
sleep 2
pid=`ps aux | grep "/use/tomcat/apache-tomcat-7.0.104/bin" | grep -v grep | grep -v retomcat | awk '{print $2}'`
echo "[info][$(date +'%F %H:%M:%S')]tomcat进程为:$pid"
if [ -n "$pid" ]; then
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭失败,准备kill进程..."
kill -9 $pid
echo "[info][$(date +'%F %H:%M:%S')]kill进程完毕!"
sleep 1
else
echo "[info][$(date +'%F %H:%M:%S')]使用shutdown命令关闭成功!"
fi
fi

chmod +x tdown.sh

6.tomcat日志查看实用日志

查看tomcat运行日志 tail -f catalina.out
通过关键字搜索查看日志 cat jeewx-2015-09-20.log
查看固定时间日志 cat jeewx-2015-09-20.log
查看最近50行日志 tail -n 50 -f catalina.out

tomcat输出的错误信息更为详细

在WEB-INF/classes目录下新建一个名为 logging.properties 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = servlet-examples.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

8.监控tomcat

github上下载

1
https://github.com/psi-probe/psi-probe/releases

拷贝到这里

1
2
cp probe.war /use/tomcat/apache-tomcat-8.5.56/webapps/probe.war
cp probe.war /use/tomcat/apache-tomcat-7.0.104/webapps/probe.war

配置conf/tomcat-users.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<role rolename="probeuser"/>
<role rolename="poweruser"/>
<role rolename="poweruserplus"/>
<role rolename="manager-gui"/>

<user username="root" password="1234" roles="manager-gui"/>

<role rolename="probeuser"/>
<role rolename="poweruser"/>
<role rolename="poweruserplus"/>
<role rolename="manager"/>

<user username="root" password="1234" roles="manager"/>

开始
sh /use/tomcat/apache-tomcat-8.5.56/bin/startup.sh
结束
sh /use/tomcat/apache-tomcat-8.5.56/bin/shutdown.sh
开始
sh /use/tomcat/apache-tomcat-7.0.104/bin/startup.sh
结束
sh /use/tomcat/apache-tomcat-7.0.104/bin/shutdown.sh


其中,admin/123456是访问probe界面需要的用户名和密码

http://192.168.58.128:8888/probe

下面国旗设置中文


Unsupported major.minor version 52.0
配置jdk过低,tomcat7时jdk7的,52是jdk8
换java环境


JDK版本和Java编译器内部的版本号

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
-------------本文结束感谢您的阅读-------------

本文标题:linux下tomact安装和使用

文章作者:Linhuide

发布时间:2020年06月18日 - 08:06

最后更新:2020年06月23日 - 12:06

原始链接:https://linhuide.github.io/post/b39c2e4c.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!