centos7安装tomcat,设置自启动、切割日志

安装tomcat前需要安装jdk,jdk1.7对应tomcat7,jdk1.8对应tomcat8,本人已安装好jdk并设置好系统变量,jdk安装路径为usr/local/jdk1.7.0_79

一、tomcat官网中下载tomcat的tar.gz安装包。下载地址:apache-tomcat-7.0.82.tar.gz

二.把tomcat压缩包上传到Linux中,使用命令解压到/usr/local目录下(常用系统软件安装目录) tar -zxvf apache-tomcat-7.0.82.tar.gz /usr/local

三.切换到tomcat的bin目录下,输入 ./startup.sh 命令启动Tomcat 输入http://ip/8080 访问,如果访问不了,可能是防火墙没空开放8080端口

四.设置开机启动
4.1修改bin/setclasspath.sh配置
在setclasspath.sh文件中的
# Make sureprerequisite environment variables are set
这行前面增加下面两行:

> export  JAVA_HOME=usr/local/jdk1.7.0_79 
> export JRE_HOME=usr/local/jdk1.7.0_79es/jre

这里写图片描述
4.2在tomca7/bin 目录下面,新建 setenv.sh配置文件
catalina.sh启动的时候会调用,同时配置java内存参数
setenv.sh的内容如下:

#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

4.3 在/usr/lib/systemd/system目录下增加tomcat.service,目录必须是绝对目录
tomcat.service把tomcat设置为一个系统服务,内容如下:

[Unit]
Description=Tomcat
After=syslog.targetnetwork.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/apache-tomcat-7.0.82/tomcat.pid
ExecStart=/usr/local/apache-tomcat-7.0.82/bin/startup.sh 
ExecReload=/bin/kill-s HUP $MAINPID
ExecStop=/bin/kill-s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

4.4设置服务开机启动
systemctl enable tomcat.service

4.5注意事项
tomcat设置自启动后,启动或关闭tomcat最后使用 systemctl命令而不再是使用tomcat/bin目录中的startup.sh和shutdown.sh
五、systemctl常用命令
查看tomcat的状态
systemctl status tomcat.service
配置开机启动
systemctl enable tomcat.service
删除开机启动
systemctl disable tomcat.service
启动tomcat
systemctl start tomcat.service
停止tomcat
systemctl stop tomcat.service
重启tomcat
systemctl restart tomcat.service
其中.service可以省略。
六、切割tomcat的catalina.out日志
6.1重设catalina.out的输出路径(很重要,我在这里踩了一个大坑,花了两天才搞定)
修改tomcat/bin目录下的catalina.sh文件,把catalina.out的输出路径给为/var/log,注意:输出路径一定要/var/log目录下,否则切割失败(自动切割是权限不够)
把 CATALINA_OUT=”$CATALINA_BASE”/logs/catalina.out 修改为CATALINA_OUT=/var/log/catalina.out
这里写图片描述
6.2配置日志轮转文件
在/etc/logrotate.d/新建文件tomcat,tomcat的内容如下

/var/log/catalina.out {
        compress
        delaycompress
        daily
        size=2M
        copytruncate
        create 644 root root
        ifempty
        rotate 7
        olddir /var/log/tomcatlog
        missingok
        dateext
}

6.3手动调用日志切割命令
调用为/etc/lograte.d/下配置的所有日志调用logrotate:
logrotate /etc/logrotate.conf
调用Tomcat的logrotate:
logrotate /etc/logrotate.d/tomcat
6.4.日志文件配置详解

compress    #是否通过gzip压缩转储以后的日志文件,如xxx.log-20131216.gz ;nocompress不需要压缩 一个2~3GB的日志文件可以压缩成60MB左右
delaycompress   #和compress一起使用时,转储的日志文件到下一次转储时才压缩
daily       #每天切割一次;weekly每周;monthly每月
size 50K        # 当catalina.out文件大于16MB时,就轮转
copytruncate# 创建新的catalina.out副本后,截断源;nocopytruncate备份日志文件不过不截断
create 0664 root utmp   #指定新建的日志文件权限以及所属用户和组;nocreate不建立新的日志文件
notifempty  #日志为空不轮转;ifempty 即使日志文件为空文件也做轮转,这个是logrotate的缺省选项。
rotate 7    #保留7个日志
olddir /var/log/old_log #切割后日志存放位置;noolddir转储后的日志文件和当前日志文件放在同一个目录下,注意日志文件最好也放在/var/log目录下
missingok   # 如果要轮转的文件丢失了,继续轮转而不报错
dateext     #就是切割后的日志文件以当前日期为格式结尾,如xxx.log-20131216这样,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1这种格式
sharedscripts    #运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本

6.5 如果日志文件不轮转或出错,使用 cat /var/spool/mail/root 查看系统发送的出错邮件

参考博客:
http://blog.csdn.net/tiantang_1986/article/details/53704966
https://linux.cn/article-4126-1.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值