Buat Nginx ikuti symlinks

28

Nginx tidak mengikuti tautan simbolik. Saya mendapatkan kesalahan 404. Dalam direktori saya, saya memiliki tautan ini:

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

tetapi file yang disimpan /path/to/dirtidak ditemukan.

hellb0y77
sumber
Silahkan lihat di nginx.org/en/docs/http/…
Andy
2
OK saya diselesaikan dengan disable_symlinks off;. Terima kasih!
hellb0y77
Tidak masalah. Semoga harimu menyenangkan!
Andy
Harap ketikkan solusi Anda sebagai jawaban dan terima (itu perilaku yang adil di sini) atau hapus pertanyaan Anda di tempat lain.
leonbloy
Ada ide lain? Saya mengalami masalah ini, saya mencoba mematikan disable_symlinks; di conf saya (meskipun itu sebenarnya default lagian) dan tidak ada yang berfungsi.

Jawaban:

38

Saya memasukkan disable_symlinks off;nginx.conf saya dan saya memutuskan, berfungsi dengan baik!

http {
    disable_symlinks off;
}
hellb0y77
sumber
Saya mendapat nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22setelah melakukan ini. Saya menggunakan nginx/1.8.0pada Mac OS X.
beku-api
2
@ beku-api disable_symlinksditambahkan dalam versi 1.1.15 ( lihat dokumen ), jadi seharusnya sudah berfungsi. Apakah Anda yakin menggunakan 1.8.0, dan berada dalam konteks yang diizinkan (http, server, atau lokasi)?
Ville
2
Konteks untuk digunakan disable_symlinks:http, server, location
Thiago Pereira
1

Saya menemukan solusinya pada posting ini .

Lebih khusus, garis-garis ini:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
Jonathan Martins
sumber
1

Gunakan opsi 'bind' dengan memasang folder =)

sudo nano /etc/fstab

Mengetik:

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

(tidak ada symlink & jangan lupa restart vds / cpu)

phpWebStudio
sumber