config Tomcat service on ubuntu14 server as daemon thread

来源:互联网 发布:淘宝卖家的支付宝红包 编辑:程序博客网 时间:2024/06/05 10:46

在部署tomcat的时候发现一个问题,当启动此tomcat的用户全部退出之后tomcat服务竟然挂掉了。ssh连上又自动开始运行了。经查是进程被kill子进程也被kill了。(深层次原因我也不懂,菜鸡一枚。。。)

解决办法。https://tomcat.apache.org/tomcat-7.0-doc/setup.html

tomcat版本8.0.21

jdk版本1.8

server ubunut14.04

需要软件gcc make

解压tomcat_home/bin/commons-daemon-native.tar.gz

cd到解压的目录

编译 ./configure 

make

打开daemon.sh 

配置JAVA_HOME

配置CATALINA_HOME

配置server启动参数 -jvm server -Xmx -Xms ...

配置tomcat user = current user(root 会有问题)

配置tomcat Security random key 好像是这个,要不tomcat启动特别慢 亲测90s

在start启动参数里新加启动参数(按照写好的格式写就行了)

# ----- Execute The Requested Command -----------------------------------------
case "$1" in
    run     )
      shift
      "$JSVC" $* \
      $JSVC_OPTS \
      -java-home "$JAVA_HOME" \
      -pidfile "$CATALINA_PID" \
      -wait "$SERVICE_START_WAIT_TIME" \
      -nodetach \
      -outfile "&1" \
      -errfile "&2" \
      -classpath "$CLASSPATH" \
      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMP" \

      -Djava.security.egd=file:/dev/./urandom \
      $CATALINA_MAIN
      exit $?
    ;;
    start   )
      "$JSVC" $JSVC_OPTS \
      -java-home "$JAVA_HOME" \
      -user $TOMCAT_USER \
      -pidfile "$CATALINA_PID" \
      -wait "$SERVICE_START_WAIT_TIME" \
      -outfile "$CATALINA_OUT" \
      -errfile "&1" \
      -classpath "$CLASSPATH" \
      "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMP" \

       -Djava.security.egd=file:/dev/./urandom \
      $CATALINA_MAIN
      exit $?
    ;;

最好run里也写上

然后将此文件copy到/etc/init.d

命名为tomcat

执行

sudo update-rc.d tomcat defaults
如果你想更改为80端口 请使用sudo service tomcat start 系统端口必须要有root权限,你也可以采用iptables 将8080端口转发到80端口 重启会有问题,至于如何转发,请google之

1 0