发表于: 2017-10-18 20:01:57
2 734
今日完成的事:
1.发布应用到tomcat8以及resin
首先tomcat8很简单,安装完毕把war包扔到webapps目录下就可以了。但是有几点需要注意:
首先tomcat的启动脚本不会给你报异常,tomcat到底有没有启动是需要看日志去确定的。
日志位置为tomcat安装目录下logs文件里的catalina.2017-10-18.log文件里。如果你启动的时间段内没有出现异常,那么就可以肯定的是tomcat已经启动了。存在启动失败最多的原因是因为端口被占用,下面给出一个命令来查看相应的端口是否被占用,以及如何杀掉占用端口的应用。
lsof -i:8080
可以看到8080端口已经被占用了,如果不是tomcat在占用,那么就应该使用命令sudo kill 24818,其中24818是占用8080端口应用的pid.
其次就是resin了,resin的发布也很简单,但也有一点要注意,需要开启某个东西,不然无法进入admin-resin页面,需要开启admin页面。进入目录conf,然后打开resin.properties将web_admin_external:true的注释去掉。
还有一点就是将已经的应用改为主应用,简单来说就是访问xxxxxx:8080能直接跳转到自己的应用首页而不是resin的默认首页,那么需要在resin.xml中进行配置。同样进入conf目录,打开resin.xml
找到并做出修改
<host id="" root-directory=".">
<web-app id="/" root-directory="webapps/你的应用名"/>
如下图:
2.成功编写并测试通过启动,关闭,重启,发布resin容器的脚本
先上图:
弄个单机环境的shell脚本也不是特别难,主要也是各种命令查google百度。
明天计划完成的事:
1.测试rest请求
2.了解下什么是nginx
遇到的困难:
首先就是说在部署tomcat的时候脚本明明提示成本但还是无法访问,解决方法就是自己查看了日志文件确认了tomcat没有启动成功,原因是因为端口被占用。端口的问题使用lsof -i:8080和sudo kill 命令解决
还有就是resin无法访问admin-resin页面的问题,在陈昊大佬的帮助下顺利解决。
最后就是在写脚本的时候刚开始自己是想先获取路径下的文件名,然后判断是否包含.war确定是否有部署的应用,但老是出问题,最后在老大的帮助下发现可以直接获取文件的后缀,使用$filename##*.即可。
收获:
对于tomcat,resin,jetty的部署以及常见问题有了基本的认识和解决方法。对shell脚本有了初步的理解和使用经验
评论