nginx 不遵循 www-data 用户的符号链接

Posted

技术标签:

【中文标题】nginx 不遵循 www-data 用户的符号链接【英文标题】:nginx doesn't follow symlinks with www-data user 【发布时间】:2016-01-30 09:38:03 【问题描述】:

我在/var/www/default 处为默认服务器创建了一个文件夹,一切正常。 在该文件夹中,我使用常见的ln -s 建立了指向~/WebstormProjects/my-project 的符号链接。 它工作了一段时间,上次我使用apt-get 更新时,nginx 不再遵循符号链接,这给了我一个 404 错误,甚至没有像以前那样列出符号链接。

尝试使用disable_symlinks 指令,将其设置为off,但没有任何反应。还按照this link 中的步骤进行操作,但仍然一无所获。也将自己添加到www-data 用户,什么都没有。

但是如果我通过将user 指令更改为我自己的用户来编辑nginx.conf 并重新启动服务器确实可以工作,但我知道这是一个非常糟糕的做法,并且在未来的某一天它不会允许 php-FPM工作。

那么,我可以做些什么来让 nginx 跟随符号链接,而不改变我的源目录的所有者?顺便说一句,我使用的是通过包管理器安装的 Ubuntu 14.04.3 和 nginx 1.4.6。

【问题讨论】:

disable_symlink 有if_not_owner 选项 通过设置,我将启用禁用符号链接,这不是我想要的行为。 【参考方案1】:

只是权限问题:

chmod 755 /home
chmod 755 /home/user

从this answer 获取以前的命令。

【讨论】:

以上是关于nginx 不遵循 www-data 用户的符号链接的主要内容,如果未能解决你的问题,请参考以下文章

sh 以具有nologin shell的其他用户身份运行脚本或命令,例如nginx或www-data

非root用户启动nginx master process

nginx php7.2 环境搭建权限问题

如何将用户(www-data)更改为root

用户 ubuntu 的权限被拒绝,但 .csv 文件上的用户 www-data 却没有

PHP 让 www-data 像其他用户一样运行命令