nginx反向代理tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题

问题说明: 测试机上部署了一套业务环境,nginx反向代理tomcat,在访问时长时间处于加载中,十分缓慢!

通过浏览器调试(F12键->Console),发现有错误ERR_CONTENT_LENGTH_MISMATCH 出现:

查看nginx日志(当出现故障时,要记得第一时间查看相关日志) .......open() "/Data/app/nginx/proxy_temp/3/00/0000000003" failed (13: Permission denied) while reading upstream, client:...... server: localhost, request: "GET

原因: nginx在做代理时,其工作进程对大文件做了缓存,这个缓存在 %nginx%/proxy_temp 目录下,主进程在读取缓存的时候由于权限问题而无法访问。

[root@dev-new-test proxy_temp]# pwd /Data/app/nginx/proxy_temp [root@dev-new-test proxy_temp]# ll 总用量 40 drwx------ 33 www www 4096 11月 22 17:07 0 drwx------ 34 www www 4096 11月 22 17:07 1 drwx------ 34 www www 4096 11月 22 17:07 2 drwx------ 35 www www 4096 11月 22 17:07 3 drwx------ 35 www www 4096 11月 22 17:16 4 drwx------ 35 www www 4096 11月 22 17:16 5 drwx------ 34 www www 4096 11月 22 16:46 6 drwx------ 33 www www 4096 11月 22 16:46 7 drwx------ 33 www www 4096 11月 22 16:47 8 drwx------ 33 www www 4096 11月 22 17:07 9

发现nginx的缓存目录都是www权限,而nginx进程的启动用户是nobody,因为需要将缓存的目录权限修改成nobody! [root@dev-new-test proxy_temp]# ps -ef|grep nginx nobody 28072 46482 0 18:09 ? 00:00:00 nginx: worker process ......

[root@dev-new-test proxy_temp]# pwd /Data/app/nginx/proxy_temp [root@dev-new-test proxy_temp]# chown -R nobody.nobody ./* [root@dev-new-test proxy_temp]# ll 总用量 40 drwx------ 33 nobody nobody 4096 11月 22 17:07 0 drwx------ 34 nobody nobody 4096 11月 22 17:07 1 drwx------ 34 nobody nobody 4096 11月 22 17:07 2 drwx------ 35 nobody nobody 4096 11月 22 17:07 3 drwx------ 35 nobody nobody 4096 11月 22 17:16 4 drwx------ 35 nobody nobody 4096 11月 22 17:16 5 drwx------ 34 nobody nobody 4096 11月 22 16:46 6 drwx------ 33 nobody nobody 4096 11月 22 16:46 7 drwx------ 33 nobody nobody 4096 11月 22 16:47 8 drwx------ 33 nobody nobody 4096 11月 22 17:07 9

这样,就解决了上面出现的错误问题:

另外: nginx代理tomcat,访问缓慢问题,还有一种可能原因就是tomcat默认的根目录是webapps/ROOT,如果不是ROOT,可能也会导致访问问题。 因为,在部署环境时,首先将webapps下的文件全部删除,然后将war包上传到webapps下改名为ROOT.war,最好说服开发同事在打包时就 打包成ROOT.war名称,不然后续上传后就手动修改,这样tomcat重启后,就会自动解压ROOT.war包,自然根目录就会是webapps/ROOT

还有在部署多个tomcat实例时,尽量不要拷贝已用的tomcat并修改端口后投入使用,最好是拷贝源码解压后的纯净的tomcat,然后修改端口投入使用。

当然,访问页面没有反应时,也可能是因为服务器磁盘爆满导致!多方面考虑吧~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端新视界

node-sass 安装失败的解决措施

在测试gulp-webapp的时候遇到了 styles 不能被正常编译的问题,究其原因是node-sass没有被正常安装。 根本原因是国内网络的原因。 最终的解...

26810
来自专栏weixuqin 的专栏

win10 + Lubuntu 双系统安装

最近重装了系统,索性直接安装win10 + Lubuntu 双系统,便于在物理机下进行 Linux开发. 这里我选择的 Linux 发行版是 Lubuntu ....

4652
来自专栏架构技术

[转]Docker容器可视化监控中心搭建

【原文链接】https://www.jianshu.com/p/9e47ffaf5e31?hmsr=toutiao.io&utm_medium=toutiao....

1213
来自专栏林滨的专栏

在ubuntu下 搭建区块链 (Hyperledger Fabric) 可在腾讯云实验室测试

作为目前Hash chain 的CTO,接到很多开源社区的朋友请教,大家对于区块链抱有很大程度上的热诚。但是由于区块链开发技术门槛较高,广谱技术开发普及度不高...

5190
来自专栏黑白安全

中间件漏洞与防护

中间件漏洞可以说是最容易被web管理员忽视的漏洞,原因很简单,因为这并不是应用程序代码上存在的漏洞,而是属于一种应用部署环境的配置不当或者使用不当造成的 我们...

2113
来自专栏魏艾斯博客www.vpsss.net

lnmp 如何备份网站文件和数据库

1752
来自专栏Zchannel

#Linux新手入门第一期#Xshell——最好的linux系统远程管理软件

Xshell是最好的远程管理软件,没有之一,支持中文,家庭用户完全免费,它支持保存ip、用户名和密码(Public KEY也可以,也就是俗称的公钥),支持各种自...

1191
来自专栏张善友的专栏

IIS 7.0探索用于 Windows Vista 的 Web 服务器和更多内容

我经常听到 Microsoft 内部和外部的人将新的 IIS 7.0 Web 服务器称为 Microsoft 在过去几年中所进行的最重要的开发工作之一。考虑到 ...

2319
来自专栏主机笔记

windows服务器分区

刚买服务器主机经常会出现主分区空间不足的现象,尤其像windows系统本身就要占用很大空间,稍微装点软件就会出现磁盘空间不足的现象,所以给磁盘分区是一件重要且优...

6426
来自专栏IT技术精选文摘

Docker容器可视化监控中心搭建

2015

扫码关注云+社区