我正在使用gunicorn和nginx在Digital Ocean上运行django .Gunicorn为django和nginx提供静态文件.
通过网站上传文件后,我无法保存到/ home目录中的文件夹.我明白了[Errno 13] Permission denied.
请问,如何使Web服务器能够读取/ home下任意文件夹的写入权限?
这一切都取决于您的应用程序正在运行的用户.
如果您检查ps aux | grep gunicornGunicorn服务器正在运行您的应用程序的用户,那么您可以相应地更改chmod或chown权限.
ls -lash 将显示哪个用户当前只拥有该文件夹以及您尝试写入的文件夹上的权限:
4.0K drwxrwx--- 4 username username 4.0K Dec 9 14:11 uploads
然后,您可以使用它来检查是否存在任何问题.
一些关于更改所有权和权限的文档
http://linux.die.net/man/1/chmod
http://linux.die.net/man/1/chown
我建议您非常小心磁盘上的哪些位置可以访问Web服务器以进行读/写.这可能会产生巨大的安全隐患.
小智 5
好吧,我研究这个问题一个多星期了,终于弄清楚了。请点击来自数字海洋的链接,但他们没有指出重要的问题,其中包括
*1 connect() 到 unix:/tmp/myproject.sock 失败(2:没有这样的文件或目录)
ETC。
这些问题基本上都是Nginx 和 Gunicorn 之间连接的权限问题。为了简单起见,我建议为您创建的每个文件/项目/python 程序授予相同的 nginx 权限。
要解决所有问题,请遵循以下方法:首先是:
现在只需转到 /etc/nginx/nginx.conf 文件。转到服务器模块并附加:
位置 / { 包括 proxy_params; proxy_pass http<>:<>//unix:/home/nginx/myproject.sock; } REMOVE <> 从这里开始不要关注 digitalocean 文章
| 归档时间: |
|
| 查看次数: |
10575 次 |
| 最近记录: |