【问题标题】:Get CannotWriteFileException when upload 120mb file on nginx server在 nginx 服务器上上传 120mb 文件时出现 CannotWriteFileException
【发布时间】:2021-01-21 15:26:23
【问题描述】:

我在 Ubuntu + Nginx 服务器上有一个 Laravel 7 项目。我可以上传小于 ~10mb 的文件,但是当我尝试上传 120mb 的文件时出现错误。我已经在 php.ini 中将 memory_limit、upload_max_filesize、post_size 更改为 640mb。它没有帮助。我也在重启 php-fpm 和 nginx 服务。

错误日志

2021/01/21 21:11:51 [warn] 13069#13069: *1 a client request body is 
buffered to a temporary file /var/lib/nginx/body/0000000001, client: 92.47.198.158, server: servername, request: "POST /courseclass/17 HTTP/2.0", host: "servername", referrer: "https://servername/courseclass/17"
2021/01/21 21:11:53 [error] 13069#13069: *1 openat() "/var/www/servername/video/class/video_course_1611240590.mp4" failed (2: No such file or directory), client: 92.47.198.158, server: servername, request: "GET /video/class/video_course_1611240590.mp4 HTTP/2.0", host: "servername", referrer: "https://servername/watch/course/6"
2021/01/21 21:11:54 [error] 13069#13069: *1 openat() "/var/www/servername/video/class/video_course_1611240590.mp4" failed (2: No such file or directory), client: 92.47.198.158, server: servername, request: "GET /video/class/video_course_1611240590.mp4 HTTP/2.0", host: "servername", referrer: "https://servername/watch/course/6"
2021/01/21 21:41:18 [error] 13069#13069: *8 openat() "/var/www/servername/images/light.jpg" failed (2: No such file or directory), client: 92.47.149.211, server: servername, request: "GET /images/light.jpg HTTP/2.0", host: "servername", referrer: "https://servername/"
2021/01/21 21:41:21 [error] 13069#13069: *8 openat() "/var/www/servername/images/light.jpg" failed (2: No such file or directory), client: 92.47.149.211, server: servername, request: "GET /images/light.jpg HTTP/2.0", host: "servername", referrer: "https://servername/"

    2021/01/21 21:49:53 [warn] 13069#13069: *10 an upstream response is 
buffered to a temporary file /var/lib/nginx/fastcgi/3/00/0000000003 while reading upstream, client: 92.47.198.158, server: servername, request: "POST /courseclass/17 HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/servername.sock:", host: "servername", 
referrer: "https://servername/courseclass/17"

【问题讨论】:

  • 在更改设置以应用新配置后,您是否重新启动了 php 进程?
  • @codedge 是的,我重新启动了 php-fpm 和 nginx
  • 另一个想法是检查 nginx 的 client_max_body_size 设置。如果有更多详细信息,您还应该检查 php 日志。它们大多位于广告/var/log/nginx/*,主要在您的 vhost 文件中定义。
  • @codedge client_max_body_size 已经增加了。让我检查一下日志文件
  • @codedge 添加日志内容

标签: php laravel ubuntu nginx laravel-7


【解决方案1】:

问题在于服务器的内存不足。在我将它从 5GB 增加到 10GB 之后,就没有问题了。但在此之前大约有 200MB,我尝试上传 100MB 的视频

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    相关资源
    最近更新 更多