设为首页 收藏本站
查看: 698|回复: 0

[经验分享] Tomcat系统部署启动问题分析一例[sudo 启动]

[复制链接]

尚未签到

发表于 2015-8-11 08:45:03 | 显示全部楼层 |阅读模式
  今天的系统获取新的版本后部署时突然tomcat无法启动,而比较版本的变化内容,也就是几个jsp和js文件的变化,对于web.xml等都没有调整。
  这个问题很是奇怪,下面把步骤总结一下,以避免类似的问题再次发生。
1 现象描述
  已经发布的系统,IDE下运行正常,使用tomcat本身的startup.sh启动也正常
  但是使用sudo start.sh 启动,日志中出现类似如下信息
  StandardContext Start
  Server: Error filterStart
  造成系统无法进入
2 解决步骤
  
  先使用关键字StandardContext Error filterStart进行搜索,可以看到很多人描述这个问题,但大都是以下2个大点:
  v 配置问题
  v JDK,Tomcat版本问题
  而初步分析和如上的现象基本无关,因为如上的运行是在一个机器上,JDK和tomcat使用的是一个版本;配置肯定是对的,否则单独的startup.sh也不能正常启动了。
  那现在初步定为为war的问题,因此把部署的目录删除,然后任意放入一个html页面,使用sudo startup.sh启动,页面可以正常访问,因此基本可以确定war的文件某些内容影响了系统的加载,但具体是哪个呢?
  那接着查查sudo的这个差别在哪里,查阅google,可见sudo运行时的环境变量不一样,由此可以猜测,系统的库可能有一定的影响,使用ubuntu自动系统进程查看文件差别也没有遭到差别,经过多次的反复测试[消耗了无数的脑细胞],突然想到,是否还是JDK的问题呢?因为系统的JDK升级过,从openjdk换成了oracle jdk,为了重现,只好把openjdk再清理一次,oracle jdk再安装一次,然后再启动,竟然好了。
  原来还真是残留的某些文件对系统有影响,具体是哪个因为不好再次在线就没有再试了。
3 总结
  sduo的差别问题具体总结:
  http://stackoverflow.com/questions/15791488/different-environment-when-running-sudo-as-root
  sudo removes LD_LIBRARY_PATH, LD_PRELOAD from the environment (I suspect it does it for root as well as ordinary users). This may cause different libraries to be loaded for the program.
  sudo can be configured on what variables it resets/clears - see http://brandonhutchinson.com/wiki/Sudo_and_environment_variables
  ubuntu的进程查看较弱,如果可以查看到加载的库文件等,估计可以较快的确定问题,不过没有接触到在Linux下像sysinternal的procmon procexp这样的强劲工具,现在专门查了一下,还真有些工具,可以作为以后的工具箱:
  http://sourceforge.net/projects/procexp/
  Graphical process explorer for Linux.
  http://superuser.com/questions/285572/equivalent-to-sysinternals-process-explorer-on-linux
4 工具
  对于出现类似问题的同学,专门写了一个jdk的安装和清理脚本,如果出现类似的问题时不妨一试。下面是具体的脚本:
OpenJDK卸载脚本
  #openjdk6:tomcat运行消耗内存太大;Spirng IDE泄漏的问题,因此换为Oracle JDK
  #如下是删除openjdk的方法
  sudo dpkg -P openjdk-6-jdk
  sudo apt-get remove openjdk-6-jdk
  sudo apt-get remove openjdk-6-jre
  sudo apt-get remove openjdk-6-jre-headless
  sudo apt-get autoremove openjdk-6-jre-lib
  #clear the config
  dpkg -l |grep ^rc|awk '{print $2}'| sudo xargs dpkg -P
  #old openjdk/openjre
  if [ -d /usr/lib/jvm/java-6-openjdk ]; then
  rm -r -f /usr/lib/jvm/java-6-openjdk
  rm -f /usr/bin/java
  rm -f /usr/bin/javac
  fi
Oracle JDK的安装
  #!/bin/bash
  #old openjdk/openjre
  #old is in:: /usr/lib/jvm/java-6-openjdk
  #sudo dpkg -P openjdk-6-jdk
  #sudo dpkg -P openjdk-6-jre
  #sudo dpkg -P openjdk-6-jre-headless
  #sudo dpkg -P openjdk-6-jre-lib
  #ORACLE JDK
  if [ -d /usr/lib/jvm/jdk1.7.0_25 ]; then
  rm -r -f /usr/lib/jvm/jdk1.7.0_25
  fi
  mkdir -p /usr/lib/jvm
  sudo tar -xzvf server-jre-7u25-linux-x64.tar.gz -C /usr/lib/jvm
  echo 'Oracle JDK install ok'
  #ENV
  sudo echo 'export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_25' >> /etc/profile
  sudo echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
  sudo echo 'export CLASSPATH=.:$JAVA_HOME/lib' >> /etc/profile
  source /etc/profile
  #set binary
  sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_25/bin/java 300
  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_25/bin/javac 300
  echo 'Oracle JDK env install ok'

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97228-1-1.html 上篇帖子: MyEclipse + Tomcat + SQLServer开发JSP网站,初级配置及介绍! 下篇帖子: Java笔记(三)--不同版本jdk以及tomcat共存的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表