nginx 不遵循与 www-data 用户的符号链接
nginx doesn't follow symlinks with www-data user
我已经在 /var/www/default
的默认服务器上创建了一个文件夹,一切正常。
在该文件夹中,我使用常见的 ln -s
创建了一个 symlink 到 ~/WebstormProjects/my-project
。
它工作了一段时间,上次我使用 apt-get
更新时,nginx 不再遵循符号 link,这给了我一个 404 错误,甚至没有列出 symlink就像以前一样。
尝试使用 disable_symlinks
指令,将其设置为 off
,但没有任何反应。也按照 this link 中的步骤进行操作,但仍然一无所获。还把自己加到www-data
用户,什么都没有。
但是如果我通过将 user
指令更改为我自己的用户来编辑 nginx.conf
并重新启动服务器确实有效,但我知道这是一个非常糟糕的做法,将来有一天它会不允许 PHP-FPM 工作。
那么,我可以做些什么来让 nginx 跟随 symlinks,而不改变我的源目录的所有者?顺便说一句,我正在使用通过包管理器安装的 Ubuntu 14.04.3 和 nginx 1.4.6。
只是权限问题:
chmod 755 /home
chmod 755 /home/user
从 this answer 获得了之前的命令。
我已经在 /var/www/default
的默认服务器上创建了一个文件夹,一切正常。
在该文件夹中,我使用常见的 ln -s
创建了一个 symlink 到 ~/WebstormProjects/my-project
。
它工作了一段时间,上次我使用 apt-get
更新时,nginx 不再遵循符号 link,这给了我一个 404 错误,甚至没有列出 symlink就像以前一样。
尝试使用 disable_symlinks
指令,将其设置为 off
,但没有任何反应。也按照 this link 中的步骤进行操作,但仍然一无所获。还把自己加到www-data
用户,什么都没有。
但是如果我通过将 user
指令更改为我自己的用户来编辑 nginx.conf
并重新启动服务器确实有效,但我知道这是一个非常糟糕的做法,将来有一天它会不允许 PHP-FPM 工作。
那么,我可以做些什么来让 nginx 跟随 symlinks,而不改变我的源目录的所有者?顺便说一句,我正在使用通过包管理器安装的 Ubuntu 14.04.3 和 nginx 1.4.6。
只是权限问题:
chmod 755 /home
chmod 755 /home/user
从 this answer 获得了之前的命令。