首页 > 代码库 > ubuntu 14 中tomcat的开机启动设置

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/environmentsource /etc/profilelocale >> /home/cnic/locale.txt/usr/tomcat/apache-tomcat-8.0.27/bin/startup.shecho "tomcat started--."exit 0

如果不加/etc/profile,缺少必要的环境变量,是无法启动tomcat的。

为分析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-8LANGUAGE=LC_CTYPE=en_US.UTF-8LC_NUMERIC=en_US.UTF-8LC_TIME=en_US.UTF-8LC_COLLATE=en_US.UTF-8LC_MONETARY=en_US.UTF-8LC_MESSAGES=en_US.UTF-8LC_PAPER=en_US.UTF-8LC_NAME=en_US.UTF-8LC_ADDRESS=en_US.UTF-8LC_TELEPHONE=en_US.UTF-8LC_MEASUREMENT=en_US.UTF-8LC_IDENTIFICATION=en_US.UTF-8LC_ALL=

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

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

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

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

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

 

系统环境为:ubuntu 14, 英文

 

ubuntu 14 中tomcat的开机启动设置