问题
今天配置虚拟机的nginx的时候遇到这个问题,比较明显,就是nginx没有权限读取你配置的root目录,我的nginx运行角色是nginx,root目录/joker/var/www
属于角色joker
分析
可以测试一下,我的nginx是以nginx角色运行的,然后root配置的目录是在joker角色下,执行如下命令
sudo -u nginx stat /joker/var/www
如果显示permission denied 这样的字样那就是没有权限
解决
把nginx角色加入到joker用户组中并保证joker组用户都能访问到joker文件夹及其子目录,接下来一顿操作猛如虎
gpasswd -a nginx joker
//加入joker组
chmod g+x /joker && chmod g+x /joker/var && chmod g+x /joker/var/www
//保证组用户能访问到目录路径的所有节点
重启nginx就可以了