当前位置: 首页 > news >正文

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, 英文

 

转载于:https://www.cnblogs.com/legendjslc/p/tomcat_autostart_in_ubuntu.html

相关文章:

  • Java豆瓣电影爬虫——抓取电影详情和电影短评数据
  • InitialContext和lookup
  • 转】Mahout分步式程序开发 聚类Kmeans
  • Python 查看QQ状态
  • 前端弹出层框架layer
  • expect的超时处理
  • 自定义QGraphicsItem
  • FZU-2087 统计树边(最小生成树)
  • 选购线PHPUnit最佳实践:从入门到精通
  • 日常小算法
  • Cacti 监控流入流出差并作阈值报警
  • 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功
  • scapy框架安装和入门
  • python知识点记录(一):
  • jdk之jhat命令
  • 《剑指offer》分解让复杂问题更简单
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • es6(二):字符串的扩展
  • ES6系统学习----从Apollo Client看解构赋值
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Laravel 实践之路: 数据库迁移与数据填充
  • Python学习之路16-使用API
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 如何合理的规划jvm性能调优
  • 我是如何设计 Upload 上传组件的
  • 一个项目push到多个远程Git仓库
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #Linux(权限管理)
  • #QT(串口助手-界面)
  • $(function(){})与(function($){....})(jQuery)的区别
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (4) PIVOT 和 UPIVOT 的使用
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)springboot教学评价 毕业设计 641310
  • (六)激光线扫描-三维重建
  • (四)Controller接口控制器详解(三)
  • (算法)N皇后问题
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)jdk与jre的区别
  • (转)nsfocus-绿盟科技笔试题目
  • (转)树状数组
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core跨平台微服务学习资源
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 的程序集加载上下文
  • .NET 解决重复提交问题
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 使窗口永不获得焦点
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @Bean, @Component, @Configuration简析
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解