我在UbuntuServer13.10上遇到了用于Django生产环境的Cherokee+uWSGI权限问题。在启动cherokee之前,当我以根用户的身份手动启动uWSGI时,一切顺利:
sudo uwsgi --ini /home/instytut21/instytut21l/instytut21/uwsgi.ini但是,当我试图通过服务器(以www-data的形式运行)访问站点时,我总是会得到一个503 Service Unavailable响应,并在日志中得到以下消息:
sudo cat /var/log/cherokee/instytut21.error.log
realpath() of /home/instytut21/instytut21.pl/instytut21/uwsgi.ini failed:
[core/utils.c line 3574]我花了很长时间试图找出问题的原因。我尝试将所有权授予$USER:www-data和www-data:www-data,拥有从600到777的各种文件权限。
出于安全原因,我不想将服务器作为root运行。如何使cherokee可以访问ini文件?
发布于 2014-02-26 09:51:57
我终于在www-data permissions?找到了一个类似问题的解决方案。我稍微修改了它,并通过执行以下命令解决了我的问题。
拥有我和组www-data的整个目录:
sudo chown -R $USER:www-data /home/instytut21/instytut21.pl/将所有权限授予组:
sudo chmod -R g+rwx /home/instytut21/instytut21.pl/确保所有上传的文件都具有相同的权限:
sudo chmod -R g+s /home/instytut21/instytut21.pl/https://stackoverflow.com/questions/22029280
复制相似问题