Nginx не следующие ссылки
Я установил nginx на Ubuntu 12.04. Однако nginx, похоже, не следует символическим ссылкам. Я понимаю, что для этого требуется изменение конфигурации, но я не могу найти, где это сделать. Любая помощь приветствуется.
3 ответов
посмотрите на следующий параметр конфигурации из nginx docs:
синтаксис:
disable_symlinks off; disable_symlinks on | if_not_owner [from=part];
по умолчанию: disable_symlinks off;
контекст: http, сервер, местоположение
эта директива появилась в версии 1.1.15.
в моем случае nginx
был уже настроен для следования символическим ссылкам. Но символическая ссылка указывала на мой домашний каталог и nginx
не имел разрешения на доступ к своим файлам.
в этом примере ссылка выглядит так: /usr/share/nginx/www/mylink
->/home/myuser/html
cd /usr/share/nginx/www
mkdir -p /home/myuser/html
sudo ln -sv /home/myuser/html mylink
«mylink» -> «/home/u/html»
дать почитать (r
) и выполнить (x
) разрешения с помощью chmod
следующим образом:
chmod +rx /home/myuser
chmod +rx -R /home/myuser/html
разрешение на запись также может быть дано, если скрипты требуют записи данные:
chmod +w -R /home/myuser/html/myPHP
нет необходимости перезапускать ngnix
, нажмите клавишу [CTRL+F5]
в вашем браузере.
внимание: не рекомендуется создавать символические ссылки, указывающие ваше домашнее пространство, потому что ошибка в доступе для чтения/записи или других символических ссылках может привести к дырам безопасности в ваших цифровых данных!
ссылки: Arch wiki
если ответ olibre не помогает редактировать файл /etc/nginx/sites-available / default и добавить эту строку, где вы указали корневой каталог сервера.
autoindex on;
сохраните файл и перезапустите сервер
/etc/init.d/nginx restart