Tomcat常用配置与命令(Linux)
1、启动tomcat服务
切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)
方式一:直接启动 ./startup.sh
方式二:作为服务启动 nohup ./startup.sh &
方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
方式四:后台启动 sh startup.sh (常用)
解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,
直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。
2、关闭tomcat服务
方式一:./shutdown.sh
方式二:sh shutdown.sh (常用)
3、Linux下启动tomcat无法找到./catalina.sh文件无权限
[root@test233 bin]# sh startup.sh
Cannot find ./catalina.sh
The file is absent or does not have execute permission
This file is needed to run this program
解决办法:
给.sh文件授权
[root@test233 bin]# chmod +x *.sh
再启动,成功
[root@test233 bin]# sh startup.sh
4、调整Tomcat启动参数
在对应linux下的tomcat版本中,修改 catalina.sh
vi /usr/tomcat/bin/catalina.sh
注: /usr/tomcat/bin/catalina.sh 是 tomcat所在目录的bin目录
找到 # OS specific support. $var must be set to either true or false.在上句之前加入
# JAVA_OPTS
JAVA_OPTS="-Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=512m -XX:MaxPermSize=256m"
# CATALINA_OPTS
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
5、清空catalina.out日志,不需要重启tomcat
- 重定向方法清空文件
[root@localhost logs]# du -h catalina.out 查看文件大小
17M catalina.out
[root@localhost logs]# > catalina.out 重定向清空文件
[root@localhost logs]# du -h catalina.out 查看文件大小
0 catalina.out
- 使用true命令重定向清空文件
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# true > catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out
- 使用cat/cp/dd命令及/dev/null设备来清空文件
第一种:
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# cp /dev/null > catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out
第二种:
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# cp /dev/null catalina.out cp: overwrite `catalina.out`? y
[root@localhost logs]# du -h catalina.out
0 catalina.out
第三种:
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# dd if=/dev/null of=catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out
- 使用echo命令清空文件
echo -n " " > catalina.out ==》加上"-n"参数,默认情况下会"\n",也就是回车符
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# echo -n " " > catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out
- 使用truncate命令清空文件
truncate -s 0 catalina.out -s参数是设置文件的大小,清空文件的话,就设定为0
[root@localhost logs]# du -h catalina.out
448K catalina.out
[root@localhost logs]# truncate -s 0 catalina.out
[root@localhost logs]# du -h catalina.out
0 catalina.out
6、catalina.out日志割接
Tomcat的catalina.out日志分割有多种方式,如logrotate、cronolog等,本文采用最简单的shell方式。
[root@nginx01 ~]# more /root/script/catalina_out.sh
#!/bin/sh
#该脚本用于catalina.out日志割接
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d" -d "-1day"`
#for tomcat
log_file1=/home/tomcat/apache-tomcat-7.0.62/logs
#for csr
log_file2=/home/tomcat/apache-tomcat_csr/logs
cd $log_file1
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
cd $log_file2
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit
由于catalina.out日志会不断增长,故部署此脚本每天零点对日志文件进行割接,每天生成一个日志文件,便于查看。
[root@nginx01 ~]# crontab -l
0 0 * * * /root/script/catalina_out.sh 1>/dev/null 2>&1
网友评论