之前我使用了Lychee来搭建我博客的图床。使用Lychee中可能会出现一些头疼的问题。
1 无法上传图片
一般出现这种问题时,查看Nginx的error.log
目录可以发现类似下面形式的错误:
1 | 2019/07/31 05:47:44 [crit] 306#306: *149 open() "/var/tmp/nginx/client_body/0000000002" failed (13: Permission denied), client: 172.18.0.1, server: _, request: "POST /php/index.php HTTP/1.0", host: "imgs.codewoody.com", referrer: "https://imgs.codewoody.com:5443/" |
显示权限错误。导致做个错误的原因是对于/var/tmp/nginx/client_body
这一目录,nginx缺乏写入的权限。解决方法如下:
首先进入容器内部:
1 | docker exec -it lychee_lychee_1 bash |
这一目录的所有者是abc
用户,所在的group也是是abc
。我们可以将nginx
用户添加到这个组,并且为目录/var/tmp/nginx/client_body
赋予组写入权限:
1 | adduser nginx abc |
问题解决。