问题描述
我通过 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: ...
这是我试图解决的问题,但我失败了。
- 我将 Nginx.service 用户更改为 root。
- 我将整个磁盘的权限更改为 777
- 我的问题看起来与 Linux (Centos) and Nginx permissions on another disk 重复,但不是。我尝试在 ubuntu 上安装 selinux。我无法再次使用 selinux 启动。我在 ubuntu 上禁用了 selinux。
这与apparmor有关吗?
解决方法
我只是重新安装了磁盘。没有问题了。
sudo mount -o remount,rw /dev/sdb1 /media/cesium