Centos 7 安装tomcat并部署jar实录

本文目的

纯属记录,以备后查。

1.安装JAVA JDK

安装jdk略。

配置JDK,打开/etc/profile文件,在最后添加如下代码:

JAVA_HOME=/usr/java/jdk1.8.0_211
JRE_HOME=/usr/java/jdk1.8.0_211/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

然后运行命令,刷新配置:

source /etc/profile

2.安装tomcat【不是必须】

在usr/local/目录下,添加新目录tomcat,然后进入目录,获取tomcat:

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz

解压压缩包

tar -zxvf apache-tomcat-9.0.20.tar.gz

然后在安装目录下的bin文件夹,新建文件:setenv.sh,其内容如下:

# 在tomcat目录下面的bin目录下面创建setenv.sh文件,
# 因为catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量。
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.20
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.20
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/temp/tomcat.pid" 
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

在/usr/lib/systemd/system目录下,建立新文件tomcat.service,其内容如下:Java_home格式配置在:tomcat/bin/setclasspath.sh,在set JAVA_HOME注释后添加以下:

export JAVA_HOME=/usr/java/jdk1.8.0_211/
export JRE_HOME=/usr/java/jdk1.8.0_211/jre

备注:

如果使用系统自带的jdk,那么查找java_home的方法如下:

首先使用whereis java

然后循环使用命令:ls -l ...#如上面命令输出的:/usr/bin/java,直到输出路径为参数路径,然后设置java_home参数到catalina.bat文件首行,如下所示:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre

在/usr/lib/systemd/system路径下添加tomcat.service文件,内容如下【此格式已验证】

或者路径:/etc/systemd/system

[Unit]
Description=Tomcat8
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/apache-tomcat-9.0.30/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-9.0.30/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID

PrivateTmp=true
User=root
Group=root

[Install]
WantedBy=multi-user.target

 

chmod 754 tomcat.service

如不重启,直接启动tomcat.service,则会报错:

重启后运行命令:systemctl start tomcat.service 则可正常启动tomcat,并可以使用命令查看状态:

systemctl status tomcat.service

确认无误后,还可以使用命令systemctl enable tomcat.service来设置tomcat随机启动。

之后,使用无日志模式:java -jar *****.jar 或者使用日志模式 nohup java -jar ************.jar >************.log 2>&1& 来启动java程序,并查看结果。

3.设置自动启动

在/usr/lib/systemd/system目录下,新建一个新文件:项目.service,内容如下:【格式已验证,但是需要注意java_home路径是否正确】

[Unit]  
Description=xianproject #描述  
#After=syslog.target network.target  #依赖  

[Service]  
Type=simple

ExecStart=/usr/java/jdk1.8.0_211/bin/java -jar /usr/xian/ibweb-0.0.1-SNAPSHOT.jar
#StandardError=file:/usr/xian/ibweb.log
#StandardOutput=file:/usr/xian/ibweb.normal.log
StandardOutput=journal
StandardError=journal
SyslogIdentifier=xian
#前面是java命令的绝对路径  后面是jar包的绝对路径  
ExecStop=exit

User=root  
Group=root   

[Install]  
WantedBy=multi-user.target

通过systemctl enable ***.service设置开机启动即可。通过systemctl start ****.service来启动程序,项目日志会在/var/log/message文件中

==========================================================

补充:

==========================================================

在使用****.service方式运行时,按以下步骤对上面的脚本进行精简,即可实现日志记录。

[Unit]
Description=xianweb #描述
#After=syslog.target network.target  #依赖

[Service]
Type=simple

ExecStart=/usr/local/java/jdk1.8.0_211/bin/java -jar /usr/local/invite_business/ibweb-0.0.1-SNAPSHOT.jar
WorkingDirectory=/usr/local/invite_business/#注意要添加这个设置,否则会在当前用户的家目录下建立日志

ExecStop=exit

User=root
Group=root

[Install]
WantedBy=multi-user.target

然后,在程序的配置文件中记录:

logging.file=log/web.log

日志记录要点:

1.添加工作目录,否则会在当前用户的家目录下建立日志文件,这不是我们想要的。

2.在项目的配置文件中,根据spring框架的要求,配置日志目录或者日志文件。

另外,请勿在程序运行过程中,手动删除日志文件,否则会报错。

本文结束。

参考文献:https://www.cnblogs.com/hglibin/p/9562867.html

posted @ 2019-05-29 14:42  Shapley  阅读(3543)  评论(0编辑  收藏  举报