zoukankan      html  css  js  c++  java
  • 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/catalina.bat,文件首行

    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文件,内容如下【此格式已验证】

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

    [Service]
    Type=forking
    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

  • 相关阅读:
    收藏
    计算矩阵连乘
    关于sublime text
    关于拓扑排序(topologicalsort)
    生成最小树prim算法
    矩阵转置的两种算法
    android wifi热点 socket通信
    AsyncTask异步任务类使用学习
    数据库操作学习
    android 监听短信并发送到服务器
  • 原文地址:https://www.cnblogs.com/jizhong/p/10943764.html
Copyright © 2011-2022 走看看