Ubuntu14.04 安装tomcat服务器

说说tomcat8.0_60在linux jdk1.8.0_60上的那些坑

坑1

  • 当你下载好tomcat之后,解压到/opt/apache-tomcat-x.x/之后,开始在terminal中敲./bin/startup.sh,你会遇到第一个坑,tomcat并没有把所有信息都打印到终端,这时你也不知道服务器是否已经启动了!那就试一下吧,curl localhost:8080,我去果断卡住了。

    这时你意识到tomcat出现了问题,但是什么问题?
    
  • 然后你可以运行tail -f logs/catalina.out,可以看到输出结果:

Deploying web application directory /usr/local/apache-tomcat-8.0.28/webapps/examples
  • 它卡在这里了!当然首先想到的是jre配置的问题,毕竟webapp在部署时卡死,肯定和jre有关。当然之所以说是坑,就是因为结果是邪门的。

  • 执行echo $JAVA_HOME,切换到java_home目录下,vim jre/lib/security/java.security
    找到securerandom.source=file:/dev/random,改成securerandom.source=file:/dev/./urandom,具体原因请参考链接描述

坑2

过了坑1,也拜托不了被坑的命运。

  • 先解决前面说的那个问题,如果执行./bin/catalina.sh run,会直接输出到终端,没用每次查看tail -f logs/catalina.out,如果你需要切换任务,ctrl+z,出现[1]+ Stopped ./bin/catalina.sh run,然后执行bg 1,查看后台任务jobs,切换前台fg 1.

  • 现在我想让tomcat监听在80端口,window下修改conf/server.xml,mac os x不仅要修改配置,还用root用户,linux下root都不行。

  • 首先安装apt-get install authbind,参考链接描述

坑3

今天很残酷,明天更残酷,后天很美好。其实后天也一般,因为大多数人都死在后天之前,后天就算再烂,也比死了强吧!

这下服务器启动了,并且也绑定到80端口了,发现报了一大堆错table xxx no exits(不应该啊,数据库我都部署好了),最终判断是 mysql严格区分大小写的问题
mysql的数据库文件其实是存放在data目录下的,linux对文件大小写敏感的。所以说如果你的数据库表名如果是大写,程序中也必须是大写。但是如果上线的时候两者大小写不统一,要不你改程序(这个不明智),要不配置mysql对大小写不敏感。貌似要重启服务器,如果要生效的话。

    原文作者:Sike
    原文地址: https://segmentfault.com/a/1190000004028739
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞