• ubuntu 14 中tomcat的开机启动设置


    开机自启动,将要执行的语句写入/etc/rc.local。

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    # source /etc/environment
    source /etc/profile
    locale >> /home/cnic/locale.txt
    /usr/tomcat/apache-tomcat-8.0.27/bin/startup.sh
    echo "tomcat started--."
    
    exit 0

    在/etc/profile中要有JAVA_HOME的设置,缺少必要的环境变量,是无法启动tomcat的。也可以环境变量的设置放在rc.local中而不用 source /etc/profile

    JAVA_HOME=/usr/java/jdk1.7.0_79
    ...

    为分析rc.local是否成功运行,可以在 /var/log/boot.log中查看开机启动时的输出信息。

    如上设置后,开机启动了tomcat, 但页面上的中文全是乱码,在rc.local中加上语句

    locale >> /home/cnic/locale.txt

    让语言配置信息在开机时输出到文件中,可以看到开机时的locate输出:

    LANG=
    LANGUAGE=
    LC_CTYPE="POSIX"
    LC_NUMERIC="POSIX"
    LC_TIME="POSIX"
    LC_COLLATE="POSIX"
    LC_MONETARY="POSIX"
    LC_MESSAGES="POSIX"
    LC_PAPER="POSIX"
    LC_NAME="POSIX"
    LC_ADDRESS="POSIX"
    LC_TELEPHONE="POSIX"
    LC_MEASUREMENT="POSIX"
    LC_IDENTIFICATION="POSIX"
    LC_ALL=

    手动输入locate输出一下内容:

    LANG=en_US.UTF-8
    LANGUAGE=
    LC_CTYPE=en_US.UTF-8
    LC_NUMERIC=en_US.UTF-8
    LC_TIME=en_US.UTF-8
    LC_COLLATE=en_US.UTF-8
    LC_MONETARY=en_US.UTF-8
    LC_MESSAGES=en_US.UTF-8
    LC_PAPER=en_US.UTF-8
    LC_NAME=en_US.UTF-8
    LC_ADDRESS=en_US.UTF-8
    LC_TELEPHONE=en_US.UTF-8
    LC_MEASUREMENT=en_US.UTF-8
    LC_IDENTIFICATION=en_US.UTF-8
    LC_ALL=

    可以看出在rc.local运行时,没有语言编码相关的设置,导致中文输出乱码。

    如何在rc.local开机运行时设置LC_ALL等参数,未找到解决方法。

    参照网上相关文献,在tomcat/bin/catalina.sh中添加以下语句:

    ...
    export JAVA_OPTS="-Dfile.encoding=UTF-8 -Duser.language=en_US"
    ...

    重新启动后,tomcat可开机启动,且中文显示正常。

    最终的解决方案,不更改tomcat/bin/catalina.sh, 只在rc.local中多加几条语句。#!/bin/sh -e

    #
    # rc.local
    #
    
    source /etc/profile
    #source /etc/default/locale

    # 只写export或只写update-local都还是乱码,两个都写了才能正确显示中文,具体原因还是不清楚,但问题解决了。 export LANG
    ="en_US.UTF-8" export LANGUAGE="en_US:en_GB:en" export LC_ALL="en_US.UTF-8" update-locale LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LANGUAGE="en_US:en_GB:en"
    /usr/tomcat/apache-tomcat-8.0.27/bin/startup.sh exit 0

    系统环境为:ubuntu 14, 英文

  • 相关阅读:
    SSL
    Linux apache自建证书搭建https
    bat 命令
    Centos 搭建wordpress个人博客
    Python 递归删除非空目录(包括子目录以及文件)
    使用Mongo索引需要注意的几个点
    在phpWeChat中生成公众号 jssdk 各个参数(PHP)
    同等条件下,mongo为什么比mysql快?
    在phpWeChat里生成一个临时二维码(非微信二维码)
    .NetCore下使用Prometheus实现系统监控和警报 (二)Linux安装
  • 原文地址:https://www.cnblogs.com/legendjslc/p/tomcat_autostart_in_ubuntu.html
Copyright © 2020-2023  润新知