zoukankan      html  css  js  c++  java
  • Centos7安装tomcat-8.5.9+jsvc并配置systemd服务

    Centos7安装tomcat-859jsvc并配置systemd服务

    • 一安装JDK
    • 二安装tomcat-859和jsvc
    • 三添加tomcat用户并分配目录
    • 四添加systemd服务单元添加tomcat为自启动服务
    • 五重要说明

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

    Centos7安装tomcat-8.5.9+jsvc并配置systemd服务

    一.安装JDK.

    重要:tomcat-8.5.9依赖jre7以及以上版本,jdk包含了jre.

    到oracle网站下载jdk8,linux的64位rpm版.
    [root#]rpm -ivh jdk-8u111-linux-x64.rpm

    提示:jdk安装后位于/usr/java/目录内,default和latest都是软链接到实际目录。

    二.安装tomcat-8.5.9和jsvc.
    2.1.到tomcat网站下载tomcat-8.5.9,Core里面的tar.gz版.

    [root#]mkdir /opt/apache/
    [root#]tar xvf apache-tomcat-8.5.9.tar.gz -C /opt/apache/

    2.2.编译安装jsvc.

    编译前需要先安装好gcc,autoconf和jdk。
    [root#]yum install gcc autoconf

    进入${CATALINA_BASE}/bin目录下,
    [root#] cd /opt/apache/apache-tomcat-8.5.9/bin/

    解压文件,
    [root#] tar xf commons-daemon-native.tar.gz

    编译安装jsvc

    -with-java=/usr/java/latest 指定了jdk的路径.

    [root#] cd commons-daemon-1.0.15-native-src/unix/
    [root#] ./configure –with-java=/usr/java/latest
    [root#] make
    [root#] cp jsvc ../..

    注意:就是把编译生成好的jsvc文件移动到tomcat/bin目录下

    三.添加tomcat用户,并分配目录.

    tomcat的daemon.sh默认以tomcat用户启动,所以需要先添加tomcat.

    [root#]useradd tomcat -s /sbin/nologin -M
    [root#]chown -R tomcat /opt/apache/apache-tomcat-8.5.9

    四.添加systemd服务单元.添加tomcat为自启动服务.

    [root#]vi /etc/systemd/system/tomcat.service

    加入如下内容:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/java/latest
    Environment=CATALINA_HOME=/opt/apache/apache-tomcat-8.5.9
    Environment=CATALINA_BASE=/opt/apache/apache-tomcat-8.5.9
    
    ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh start
    ExecStop=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh stop
    
    [Install]
    WantedBy=multi-user.target

    输入:wq保存。

    下面,设置tomcat为自启动,然后启动tomcat服务。

    [root#]systemctl daemon-reload
    [root#]systemctl enable tomcat
    [root#]systemctl start tomcat
    [root#]systemctl status tomcat

    使用本机浏览器打开http://localhost:8080/测试。

    四-1.tomcat为自启动服务之(service启动)rc.d.

     vim tomcat8  (我的tomcat在/www/server/tomcat8/)

    #!/bin/bash
    # chkconfig: 2345 55 25
    # description: tomcat Service
    ### BEGIN INIT INFO
    # Provides:          tomcat
    # Required-Start:
    # Required-Stop:
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts tomcat
    # Description:       starts the tomcat
    ### END INIT INFO
    path=/www/server/tomcat8/bin
    cd $path
    bash daemon.sh $1
    chkconfig --add tomcat8
    chkconfig tomcat8 on

    启动命令:

     参考: https://www.jb51.net/article/100692.htm

    https://www.linuxprobe.com/linux-open-sh.html

    四-2:管理启动界面(需ntsysv工具)

    安卓:yun install -y ntsysv

    命令行执行:ntsysv

    五.重要说明:

    1).tomcat正常运行需要设置以下环境变量:

    JAVA_HOME(必须),
    JRE_HOME(可选)
    CATALINA_HOME(必须)
    CATALINA_BASE(可选)
    本文tomcat.service内已经将环境变量设置好。如果不想在service单元内设置,可以在
    daemon.sh里面设置JAVA_HOME和CATALINA_HOME,添加在# OS specific support (must be 'true' or 'false').这一行前面。

    也可以在daemon.sh的命令行参数里面设置,如下:

    ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh  --java-home  /usr/java/latest  --catalina-home  /opt/apache/apache-tomcat-8.5.9 start

    2).关于setenv.sh
    ${CATALINA_HOME}/bin/setenv.sh里面不可以设置CATALINA_HOME和CATALINA_BASE,因为setenv.sh是需要在这两个环境变量存在的情况下,定位路径。

    3).systemd运行shell脚本的环境变量不是从/etc/profile里面读取。详情可参考systemd文档,以及bash文档。

    参考资料:
    1.http://blog.csdn.net/xiaobaoxiaodun/article/details/53539680
    2.https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7
    3.http://tomcat.apache.org/tomcat-8.5-doc/setup.html

    转: https://blog.csdn.net/shile/article/details/53821821

  • 相关阅读:
    删除数据库时报错 ERROR 1010 (HY000): Error dropping database (can't rmdir './cart', errno: 39)
    多线程异步操作导致异步线程获取不到主线程的request信息
    使用mybatis更新数据时 时间字段的值自动更新
    mysql死锁com.mysql.cj.jdbc.exception.MYSQLTransactionRollbackException Deadlock found when trying to get lock;try restarting transaction
    mysql 执行报错:Error querying database. Cause: java.sql.SQLSyntaxErrorException:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    Linux系统下部署eleasticsearch+kibana
    navicat突然连接不上远程linux服务器上的mysql
    即使是一条咸鱼,也要做最咸的那条
    linux环境下安装jdk,tomcat
    SpringBoot如何内置Tomcat
  • 原文地址:https://www.cnblogs.com/fps2tao/p/14648507.html
Copyright © 2011-2022 走看看