首页 > 代码库 > 总结一些小问题

总结一些小问题

忙了半个月了各种压力,边开发边测试边上线三边工程,同时处理发布问题和开发问题,人被分成好几掰用。今天总结一下遇到的问题及解决方法。

部署环境 nginx tomcat

1.www.xxx.com/app/ 去掉应用名称app ,我们在开发环境直接用www.xxx.com/app/的方式去访问,但是在生产环境需要去掉 app/

解决方法:打开tomcat conf  文件夹下的server.xml文件 ,在host节点下 加入 <Context path="" docBase="/app" debug="0" reloadable="true"/> 

2.如果用nginx反向代理实现 tomcat负载均衡 将会导致tomcat的session不能共享。基于此问题我们关掉了一台tomcat,后期将用redis取代session。

3.Http 200 (from cache) 与 304 (not modified)的区别?

   现象:我们在访问页面的时候发现数据总是不对,必须刷新之后才能正常显示,初步估计是缓存问题。但是每个页面都是同样的情况,已经不在是单纯的浏览器缓存问题。

   后来查找原因发现。虽然每次http 响应都是200 ,但点进去之后发现 每个请求都读的缓存 from cache.

   技术分享

于是百度了一下 200 与304 的区别:https://www.bokeyy.com/post/200-ok-from-cache-vs-304-not-modified.html

200 OK (from cache) 是浏览器没跟服务器确认,直接使用了浏览器缓存;而304 Not Modified 是浏览器和服务器确认了一次缓存有效性,再用的缓存。 

了解原理之后,发现可能是nginx配置有问题,

技术分享

干掉expires之后就可以正常访问了。

4. 我们在测试的时候,发现一部分数据跑到测试库了。查找原因发现,内网的域名映射到了生产ip而公网的域名没有同步过来还是映射到测试ip。如果发现这种情况直接ping一下域名的ip地址。

     这也是导致一些奇怪问题的原因。

 

总结一些小问题