Ошибка "openat() «link file» failed (13: Permission denied)" в nginx обычно возникает из-за проблем с разрешениями доступа к файлам или каталогам. В данном случае сервер nginx пытается открыть файл, но у него нет необходимых прав на это действие.
Чтобы решить эту проблему, вам необходимо выполнить следующие шаги:
1. Проверьте права доступа к файлам и каталогам, указанным в конфигурации nginx. Убедитесь, что пользователь, от имени которого работает nginx (обычно это пользователь www-data или nginx), имеет права на чтение и выполнение файлов и на чтение и выполнение каталогов.
2. Убедитесь, что права доступа к файлам и каталогам установлены правильно. Для файлов это обычно 644 (rw-r--r--) или 755 (rwxr-xr-x), а для каталогов 755 (rwxr-xr-x) или 775 (rwxrwxr-x).
3. Проверьте наличие SELinux или AppArmor на сервере. Они могут ограничивать доступ к файлам и каталогам. Если они установлены, настройте их правила таким образом, чтобы nginx мог получить доступ к нужным файлам.
4. Перезапустите сервис nginx после внесения изменений в конфигурацию или права доступа к файлам и каталогам.
5. Если проблема все еще остается, попробуйте изменить владельца и группу файла на пользователя, от имени которого работает nginx. Это можно сделать с помощью команды chown:
sudo chown www-data:www-data /путь/к/файлу
Следуя этим шагам, вы сможете решить проблему с доступом к файлам и каталогам в nginx и избежать ошибки "openat() «link file» failed (13: Permission denied)".