发表于: 2018-03-02 20:47:36
1 722
今天完成事情:
1,服务器无法同时开启两个容器。先开了jetty,再开启resin的时候,resin开启失败,服务器崩溃,特点如下:
特点一,系统磁盘读数上升
特点二,CPU使用率上升到约6%
特点三,宽带立马变得特别低,服务器连接速度特别慢。
查看resin的jvm-app-0.log这个日志,发现在我第一次尝试启动resin的时候,有一条:
[18-03-02 13:59:43.553] {main} Table[mnode:2,/usr/resin/resin-4.0.55/resin-data/app-0/distcache/mnode.db] validating indexes due to unclean shutdown.
[18-03-02 13:59:43.597] {main} Table[data:3,/usr/resin/resin-4.0.55/resin-data/app-0/distcache/data.db] validating indexes due to unclean shutdown.
好像是mnode.db和data.db这两个文件的问题。网上好多人说是可以将这两个文件删掉,这两个文件的作用是:发现这2个文件是存储负载均衡 session会话
继续查看resin的jvm-app-0.log日志,发现下边还有一条
[18-03-02 13:59:47.873] {main} Unable to find native library 'resin_os' for com.caucho.loader.ClassEntry. Resin expects to find this library in:
(Unix) /usr/resin/resin-4.0.55/libexec64/libresin_os.so
On Unix, run ./configure --prefix=`pwd`; make; make install.
The JVM exception was: java.lang.UnsatisfiedLinkError: no resin_os in java.library.path
发现/usr/resin/resin-4.0.55/路径下就没有libexec64这个文件夹。。。
最后解决:最后没办法,把tomcat、jetty、resin三个容器中的项目删掉了一些不用的,只留下一个正在用的。启动服务器,发现这三个容器竟然都好了。所以看来原因不是三个容器的配置的问题,而是我在webapp文件夹下放的项目太多了,导致占用服务器资源过多,无法启动多个容器。
2,了解了一下token和cookies。
HTTP是一个“无状态”协议,这意味着Web应用程序服务器在响应客户端请求时不会将多个请求链接到任何一个客户端。然而,许多Web应用程序的安全和正常运行都取决于系统能够区分用户并识别用户及其权限。这就需要一些机制来为一个HTTP请求提供状态。它们使站点能够在会话期间对各用户做出适当的响应,从而保护持续跟踪用户在应用程序中的活动(请求和响应)。
2.1 基于cookies的身份验证:
cookie是源自服务器站点并由浏览器存储在客户计算机上的简单文件。通常包含一个名称和一个值,用于将客户端标识为对站点具有特定许可权的特定用户。验证流程如下:
(1)用户输入登陆凭据;
(2)服务器验证凭据是否正确,并创建会话,然后把会话数据存储在数据库中;
(3)具有会话id的cookie被放置在用户浏览器中;
(4)在后续请求中,服务器会根据数据库验证会话id,如果验证通过,则继续处理;
(5)一旦用户登出,服务端和客户端同时销毁该会话。
2.2 基于token的身份验证:
基于token的身份验证有很多的实现方式,但是通常是指JSON Web Tokens(JWT)。基于token的验证是无状态的。服务器不记录哪些用户已登陆或者发布了哪些JWT。对服务器的每个请求都需要带上验证请求的token。该标记既可以加在header中,可以在POST请求的主题中发送,也可以作为查询参数发送。工作流程如下:
(1)用户输入登陆凭据;
(2)服务器验证凭据是否正确,然后返回一个经过签名的token;
(3)客户端负责存储token,可以存在local storage,或者cookie中;
(4)对服务器的请求带上这个token;
(5)服务器对JWT进行解码,如果token有效,则处理该请求;
(6)一旦用户登出,客户端销毁token。
2.3 token相对于cookie的优势
无状态(基于token的验证是无状态的,这大概是它相对于cookie来说最大的优点);
防跨服务器请求伪造(CSRF)等等。
这些内容来自简述一篇博客,地址是:https://www.jianshu.com/p/ce9802589143
今天遇到问题:
服务器容器无法启动问题,放了好几天的问题,今天终于暂时解决了。以后可能还会出什么幺蛾子。
收获:
大概了解了一下token和cookie。
评论