当我使用 client_body_temp_path 时,另一个磁盘上的 Linux (Ubuntu) 和 Nginx 权限

问题描述

我通过 Nginx 上传大尺寸(5-100GB)单个文件。并且 Nginx 将它临时保存在一个路径中。我需要将临时路径更改为另一个磁盘的路径。我的后端应用程序将文件移动到磁盘中。但是复制粘贴太慢了,出现超时错误

磁盘挂载在/etc/fstab

/dev/disk/by-uuid/24c495a2-1fb1-46a7-8ae1-d425f5b67d4a /media/cesium auto nosuid,nodev,nofail,x-gvfs-show 0 0

这是我的配置文件

server {
    listen 14000;
    server_name _;
    client_max_body_size 100G;  
    
    client_body_temp_path /media/cesium/Nginx_tmp;

    location / {
        proxy_pass http://localhost:13001;
    }
    location /api/ {
        proxy_pass http://localhost:13002/api/;
    }

}

这里是 Nginx 错误日志文件 /var/log/Nginx/error.log

2021/07/08 12:30:00 [crit] 11595#11595: *159 open() "/media/cesium/Nginx_tmp/0000000002" Failed (13: Permission denied),client: 192.168.20.180,server: _,request: "POST /api/v1/terrain/5/uploadfile HTTP/1.0",host: "192.168.20.201:14000",referrer: ...

这是我试图解决的问题,但我失败了。

这与apparmor有关吗?

解决方法

我只是重新安装了磁盘。没有问题了。

sudo mount -o remount,rw /dev/sdb1 /media/cesium

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...