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框架的要求,配置日志目录或者日志文件。
另外,请勿在程序运行过程中,手动删除日志文件,否则会报错。
本文结束。