Linux符号链接无法按预期工作

Linux符号链接无法按预期工作,第1张

概述我之前已经多次实现了我的“目标”,但我遇到了一个我以前没有经历过的问题.我在Ubuntu 12.04 LTS上使用Nginx进行了Web服务器设置.我按照通常的方式进行系统设置,并尝试从站点“虚拟主机”创建符号链接 – 可用于启用站点的目录.通常,这是从主nginx目录(以root身份)实现以下内容: ln -s /etc/nginx/sites-available/site.com /etc/n 我之前已经多次实现了我的“目标”,但我遇到了一个我以前没有经历过的问题.我在Ubuntu 12.04 LTS上使用Nginx进行了Web服务器设置.我按照通常的方式进行系统设置,并尝试从站点“虚拟主机”创建符号链接 – 可用于启用站点的目录.通常,这是从主Nginx目录(以root身份)实现以下内容:
ln -s /etc/Nginx/sites-available/site.com /etc/Nginx/sites-enabled/site.com

虽然我可以进入启用的目录并查看符号链接已“工作”,但当我尝试直接在启用站点的目录中编辑文件时,我看到该文件为空并被视为新文件.因此,我的服务器无法按预期工作,并且页面无法加载.当我简单地将文件硬拷贝或硬链接到目录中时:

ln /etc/Nginx/sites-available/site.com /etc/Nginx/sites-enabled/site.com

它没有任何问题.然而,我被困在同一个文件的两个副本,没有符号链接.

到底是什么?

注意:这是我当前Nginx目录的结构:

root@site.com:/etc/Nginx# ls -ltotal 44drwxr-xr-x 2 root root 4096 Mar  4 17:28 conf.d-rw-r--r-- 1 root root  964 Feb 12 08:41 fastcgi_params-rw-r--r-- 1 root root 2837 Feb 12 08:41 koi-utf-rw-r--r-- 1 root root 2223 Feb 12 08:41 koi-win-rw-r--r-- 1 root root 3463 Feb 12 08:41 mime.types-rw-r--r-- 1 root root 1022 Mar  4 21:15 Nginx.conf-rw-r--r-- 1 root root  596 Feb 12 08:41 scgi_paramsdrwxr-xr-x 2 root root 4096 Mar  4 21:15 sites-availabledrwxr-xr-x 2 root root 4096 Mar  4 21:19 sites-enabled-rw-r--r-- 1 root root  623 Feb 12 08:41 uwsgi_params-rw-r--r-- 1 root root 3610 Feb 12 08:41 win-utf

提前感谢您的帮助!

编辑1:
使用ls -l显示启用站点的文件夹的内容:

root@site.com:/etc/Nginx/sites-enabled# ls -ltotal 0lrwxrwxrwx 1 root root 3 Mar  5 10:23 www -> www

最终答案

所以在@Insyte和@Michael Hampton的帮助下,我想出了如何偶尔重现我的错误.场景如下:

root@site.com:/etc/Nginx# cd sites-availableroot@site.com:/etc/Nginx/sites-available# lswwwroot@site.com:/etc/Nginx/sites-available# ln -s www /etc/Nginx/sites-enabled/wwwroot@site.com:/etc/Nginx/sites-available# cd /etc/Nginx/sites-enabledroot@site.com:/etc/Nginx/sites-enabled# ls -ltotal 0lrwxrwxrwx 1 root root 3 Mar  5 10:48 www -> www

我不知道“为什么”,但事实证明,如果我每次使用完整的绝对路径,那么问题就不存在了.

解决方法 那么你所拥有的是一个链接回自身的符号链接.我没有看到您在问题顶部列出的命令有多可能,所以我怀疑这个特定的符号链接是以不同的方式创建的.

我可以像这样复制你的场景:

sazerac:~ insyte$cd testlinks/sazerac:~/testlinks insyte$lssazerac:~/testlinks insyte$ln -s www wwwsazerac:~/testlinks insyte$ls -ltotal 8lrwxr-xr-x  1 insyte  staff  3 Mar  5 10:33 www -> www

我们来试试吧.完全按照列出的顺序执行以下命令:

echo "hello insyte" > /etc/Nginx/sites-available/insyteln -s /etc/Nginx/sites-available/insyte /etc/Nginx/sites-enabledls -l /etc/Nginx/sites-enabled|grep insytecat /etc/Nginx/sites-enabled/insyte
总结

以上是内存溢出为你收集整理的Linux符号链接无法按预期工作全部内容,希望文章能够帮你解决Linux符号链接无法按预期工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1035229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存