之前我使用了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
2
docker exec -it lychee_lychee_1 bash
cd /var/tmp/nginx/client_body

这一目录的所有者是abc用户,所在的group也是是abc。我们可以将nginx用户添加到这个组,并且为目录/var/tmp/nginx/client_body赋予组写入权限:

1
2
adduser nginx abc
chmod g+w .

问题解决。