Zohan
  • 首页
  • Java
  • JavaScript
  • Nginx
  • About
  1. 首页
  2. zohan
  3. 详细信息
Nginx 上传文件500错误:zohan 发布于:2016年12月24日 阅读次数:6758
Nginx 上传文件500错误

    系统已经上线运行了一段时间,突然有用户反馈app上传图片上传不了。通过检测试发现传小的文件没有问题,文件大一点就不行。

    把现象和问题说了一下,现在说一下我们的部署情况,我们使用nginx作为反向代理到tomcat上。实际提供服务的都是tomcat。

    上传文件上传不了的第一反应是代码有问题,上传一个略微大一点的文件,tomcat日志居然没有打印任何问题。那问题要前移了,是nginx的问题,跟踪客户端代码发现是服务器报错500,那查看下nginx错误好了,打开nginx的错误日志,配置nginx.conf:error_log  logs/error.log;

    在测试nginx配置文件时提示,日志目录没有权限,好吧,给目录授权。启动成功,上传文件,还是报错,不过这次错误和上次不一样了变成了“unauthorized(401)”,明显还是没有权限么,打开错误日志查看,发现nginx的缓存目录没有权限,查看目录的权限是nginx,再查看nginx的配置文件中配置的用户是www,明显是用户不同没有操作权限造成的,修改nginx的启动用户或者修改目录的权限,重启nginx,上传文件好使了。好一次乌龙呀!

    重新梳理了一下思路,nginx本身的请求体默认是走内存的,当请求体超过设定的大小要走磁盘的,这次是因为用户的权限不够导致文件写入不了磁盘。

    在配置nginx过程中用到以下操作命令:

    nginx -t #测试配置文件
    nginx -s reload #重启nginx

  linux中把文件的权限给用户

    chown nginx:nginx .


  • Nginx
  • Linux
本文由 zohan 创作,采用 CC BY 3.0 CN协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处,本文地址:/blog/10.html
打赏
支付宝打赏
微信打赏
Copyright © 2013-2025 zohan.cc 版权所有 .京ICP备15012738号-4
京公网安备11010802015888