欢迎来到李先生的博客

深山的鹿,不知归处;万般皆苦,只可自渡。
扩大
缩小

tomcat问题

前天晚上项目上线部署,用ansible执行启动tomcat,执行一次不成功,执行第二次也许会成功,不知道什么原因,然后在群里问了一下,然后大概总结了一下tomcat的一些东西,昨天晚上上线部署的时候还是原来的脚本,但都没有问题了,都不知道为什么。
 
1、startup.sh启动脚本里有两句话是这样:
    EXECUTABLE=catalina.sh
    ......
    exec "$PRGDIR"/"$EXECUTABLE" start "$@"
 
也就是说当你执行/usr/local/tomcat/bin/startup.sh的时候,相当于传递了一个start参数给catalina.sh,catalina.sh判断传递进来的参数,执行相应的操作,实际上是catalina.sh在执行,也就是可以/usr/local/tomcat/bin/catalina.sh start这样执行,可以查看catalina.sh的内容
    if [ "$1" = "debug" ] ; then
    ......
    elif [ "$1" = "run" ]; then
    ......
    elif["$1"="start"];then
    ......

 

可以查看catalina.sh的用法,这也就说明了startup.sh、shutdown.sh、configtest.sh这些都是catalina.sh的封装
 
catalina.sh run starts tomcat in the foreground, displaying the logs on the console that you started it. Hitting Ctrl-C will terminate tomcat.
 
catalina.sh run 输出日志直接在终端显示,Ctrl+c结束,catalina.sh start 日志输出在logs/catalina.out
 
2、tomcat的三种端口,在同一台机器上,若有多个tomcat,这三个都得改,apache通过JK模块与tomcat通信,协议是AJP
    <Server port="8005" shutdown="SHUTDOWN"> tomcat监听shutdown的命令端口
    <Connector port="2017" protocol="HTTP/1.1" 8080为http端口,8443为https端口,通过8080端口接受请求
    connectionTimeout="20000"
    redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/> 8009为ajp端口,apache能通过AJP协议访问tomcat的8009端口
 
3、在tomcat的启动过程中,还没启动完,然后我就想把tomcat给停掉,用/usr/local/tomcat/bin/shutdown.sh 这个命令,但是一直报错:
 这是正常的,你都没启动成功,怎么可能会出来端口,只能用kill 的方式杀进程
 
 
4、下午的时候,windows添加ssh钥匙,然后一直连不上
总是报错 Permissions 0644 for ‘/root/.ssh/id_rsa_rsa’ are too open.把权限降到600就可以,windows下也可以使用chmod命令,不要一直傻不拉几的去改文件的属性,没用的
chmod 0600 /root/.ssh/id_rsa_rsa然后就可以密钥登陆了  
 
 
 
 

posted on 2017-05-27 10:13  Captain_Li  阅读(479)  评论(0编辑  收藏  举报

导航