使Nginx遵循符号链接


28

Nginx不遵循符号链接。我收到404错误。在我的目录中,我具有以下链接:

lrwxrwxrwx  1 root root    48 Sep 23 08:52 modules -> /path/to/dir/

/path/to/dir找不到存储在其中的文件。



2
好的,我解决了disable_symlinks off;。谢谢!
hellb0y77

没问题,今天愉快!
安迪

请输入您的解决方案作为答案并接受它(这是公平的行为),或者在其他地方删除您的问题。
leonbloy 2014年

还有其他想法吗?我遇到了这个问题,我尝试将disable_symlinks推迟;在我的配置文件中(即使实际上仍然是默认设置),并且没有任何效果。

Answers:


38

disable_symlinks off;在我的nginx.conf中插入,我解决了,工作正常!

http {
    disable_symlinks off;
}

nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22这样做了。我用的是nginx/1.8.0Mac OS X上
冻焰

2
@ frozen-flame disable_symlinks已在1.1.15版本中添加(请参阅docs),因此它应该可以工作。您确定使用的是1.8.0,并且位于允许的上下文(http,服务器或位置)中吗?
维尔

2
使用上下文disable_symlinkshttp, server, location
Thiago Pereira

1

我在这篇文章中找到了解决方案。

更具体地说,这些行:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;

1

通过挂载文件夹使用'bind'选项=)

sudo nano /etc/fstab

类型:

/path/where/my/big/files_dir /var/www/myhost/media_dir bind defaults,bind 0 0

(没有符号链接,并且不要忘记重启vds / cpu)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.