发表于: 2018-10-14 17:34:52

1 543


task2的第10天

      这几天身体有点不舒服,效率也比较低!配置服务器常常看文档就是半天!计划延期多!有点脱离任务,部署尝试了多种方式,采坑不少。

     主要集中在尽量不修改原配置!或者说可以修改通用配置,但涉及到具体web项目路径,减少修改原配置文件,考虑新加额外的配置或者通过命令来部署,如果是复制到对应webapp目录这种方式,基本不考虑,同时可以直接 ip+端口的方式访问首页,日志就是顺带搞搞。

       但是呢!基本结束后,发现方向有点偏离!我们应该做的是:web项目应该在一种固定的目录,对应的就是svn/git目录,直接在服务器打包或者上传包,tocmat.jetty或者resin都应该从这个目录发布,使用Niginx来决定用哪个web服务器以及访问路径,同类型的web服务器也可以配置多个-----目前我的理解

今天完成的事情


1.解决昨天resin部署项目500错误

2.resin的自动部署

3.linux中top,cat,netstat -ntlp 简单使用


1.解决昨天resin部署项目500错误

  具体信息:

本身这个web.xml是没有错的,可以在tomcat8,jetty9运行

通过查找资料,翻阅官方说明,截止2018.10.14,resin最新版默认最高支持java EE6,而java EE6对应servlet版本是3.0

servlet改为3.0版本

补充说明:java EE 和Servlet的对应关系

测试通过


2.resin的自动部署

(1)基于本地命令行

      

  (2)  基于远程命令行

(3)webapps目录部署

上面是resin4.0 文档:https://caucho.com/resin-4.0/admin/starting-resin.xtp


实际测试及部分采坑:

(4)如果采用上传压缩包,解压安装(-------与官网安装过程不同,官网涉及到make ,install等命令)

 结果就是resin/bin 目录下:不存在resinctl 命令

然而 实际上有个resintcl.in的脚本

cat resinctl.in

  测试之后:resinctl.in 和resin.sh 功能基本一致

所以将 resinctl 换成 resin.sh来执行就ok!   这个很坑,我以为resin.sh就基本的启动,停止,重新启动,最多加个部署


resin.sh 参数有点多,请自行尝试!

(5)配置好用户,密码-----基本如下:

(6)采用远程命令行部署,访问路径为 ip+端口/  

(7)ip+端口/resin-admin :  -----访问浏览器管理界面

遇到的问题:

浏览器部署显示:

 大概是要开启ssl,可能还要配个证书,暂时不搞这个!

就是在这个界面发现resin 和resin-pro 差别好大,一半以上功能需要resin-pro,搞的想装resin-pro

(8)关于resin的访问日志

    目前还没有正式配置

     resin 提供的日志相关配置,

    注:jetty也差不多!一块看看

     logs/debug

 写完这个-------我想起了是自己配置输出到项目目录下的logs,---应该统一为log目录的

log/access.log

3.linux命令

cat aceess.log  ---查看输出信息!

netstat -ntlp  查看当前使用的端口

----------------------------

实际是忘了具体使用过哪些端口!查完后改了部分

top    

明天计划的事情

1.配置Nginx----优先

2.配置aceess.log----tomcat基本实现,待优化,jetty,resin待配置

3.写脚本,找出自己想要的日志信息!统计请求信息之类的----有时间的话

遇到的问题

1. 服务器 删除整个resin目录(rm -rf  resin),重新解压,启动异常

Resin/4.0.58 can't restart -server 'app-0'.
com.caucho.bam.RemoteConnectionFailedException: BamError[type=cancel,group=remote-connection-failed,text=Cannot connect to http://127.0.0.1:6600/hmtp
 java.net.ConnectException: Connection refused]

尝试1:启动 watchdog

进入resin目录,执行 java -jar lib/resin.jar watchdog

重新启动 resin:

 com.caucho.bam.InternalServerException: BamError[type=cancel,group=internal-server-error,text=com.caucho.bam.TimeoutException: QueryItem[1,QueryFutureImpl[to=null,from=HmtpClient@http://127.0.0.1:6600/hmtp,payload=NonceQuery[,1539501341631]]]]

尝试2;top 参看进程,kill 进程

Resin/4.0.58 can't restart -server 'app-0'.
com.caucho.bam.RemoteConnectionFailedException: BamError[type=cancel,group=remote-connection-failed,text=Cannot connect to http://127.0.0.1:6600/hmtp
 java.net.ConnectException: Connection refused]

解决方法:reboot------重启服务器

现在整个bug无法复现,简单总结:

1.删除软件前:先停止服务,确认停止后删除

2.top 命令多熟悉, kill  涉及到父进程和子进程的关系,这个目前还不太清楚!主要集中在配置jetty

收获

1.resin的自动部署方式

  (1)基于本地命令行

  (2)基于远程命令行

  (3)基于webapps目录

  (4)基于resin.xml----(目前简单了解,实际未测试)

2.关于JavaSE,JavaEE,JavaME的区别

JavaSE——>>JavaEE——>>JavaME。
JavaSE是Java基础内容学完了可以做一些窗体版程序,电脑桌面应用等。
JavaEE需要的JavaSE的基础上再学习一些web框架的东西,可以做一些网站应用。

JavaME则是针对移动和嵌入式设备的如:手机,电视,打印机等是用的运行程序

3.Sevlet.JavaEE ,java对应版本,以及web服务器的对应支持版本

目前没有找到比较全面的resin历史版本对于Sevletd的支持


tomcat: https://tomcat.apache.org/whichversion.html

jetty:  https://www.eclipse.org/jetty/about.html



返回列表 返回列表
评论

    分享到