Символическая ссылка прервана после создания

  • Ссылки разрываются сразу после их создания.
  • я использую ln правильно. ln -s SOURCE TARGET

Создать символическую ссылку

$ sudo ln -s ./sites-available/examble.domain.com ./sites-enabled

Компилировать NGINX - не удается из-за неработающих символических ссылок

Примечание: проблема не связана с NGINX, компиляция NGINX была только для того, чтобы помочь мне понять, что проблема существует. Решение, описанное ниже, относится к любой другой связанной проблеме.

$ sudo nginx -t
nginx: [emerg] open() "/etc/nginx/sites-enabled/example.domain.com" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

Подтвердите, что символические ссылки не работают

$ file ./sites-enabled/example.domain.com
./sites-enabled/example.domain.com: broken symbolic link to ./sites-available/example.domain.com

1 ответ

Решение

Проблема в том, что SOURCE не интерпретируется при помещении в целевой каталог.

Итак, если ваш файл, который вы хотите связать, ~/file и вы хотите связать его с ~/folder с помощью:

ln -s ./file ./folder/

Тогда символическая ссылка будет думать, что file я сидела ~/folder/file вместо ~/file

Таким образом, вместо этого вы должны попасть в каталог ~/folder и выполнить ln команда оттуда.

Итак, проблема в том...

ln нуждается в родственнике SOURCE каталог для TARGET каталог. Не родственник SOURCE каталог к ​​вашему текущему.

Окончательное решение

# Getting into the folder
cd ./sites-enabled

# Creating symbolic link
ln -s ../sites-available/example.domain.com ./
Другие вопросы по тегам