Символическая ссылка прервана после создания
- Ссылки разрываются сразу после их создания.
- я использую
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 ./