ln
正确。ln -s SOURCE TARGET
$ sudo ln -s ./sites-available/examble.domain.com ./sites-enabled
Run Code Online (Sandbox Code Playgroud)
注意: 问题与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
Run Code Online (Sandbox Code Playgroud)
$ file ./sites-enabled/example.domain.com
./sites-enabled/example.domain.com: broken symbolic link to ./sites-available/example.domain.com
Run Code Online (Sandbox Code Playgroud)
问题是SOURCE
放置到目标目录时不会重新解释。
因此,如果您要链接的文件是~/file
并且您希望将其链接到~/folder
使用:
ln -s ./file ./folder/
Run Code Online (Sandbox Code Playgroud)
然后符号链接会认为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 ./
Run Code Online (Sandbox Code Playgroud)