我是网站设置的新手,最近一段时间之前从未使用过 Web 服务器。但是,这个基本步骤让我很困惑;我无法使用以下命令停止正在运行的网站a2dissite
:
$ sudo a2dissite [such]
ERROR: Site [such] does not exist!
不可能出现拼写错误,因为我使用通配符得到了相同的结果。实际上,使用 * 通配符和选定的字母会返回一个完整的句子:ERROR: Site [the_full_name_such] does not exist!
我的sites-*
文件夹或conf
文件是否可能已损坏?
有哪些好的故障排除步骤?
答案1
以下是有关我的问题所取得的重大进展的报告。
a2dissite
采取的第一个故障排除步骤是:花时间阅读在 中找到的脚本代码/usr/sbin
。意识到我通常通过修改代码来很好地排除故障。
第二个故障排除步骤:使用不同的名称制作副本,并执行以进行测试。重复问题:失败。使用 perl 调用:失败。放弃回显脚本中的信息。
第三个故障排除步骤:致电man a2dissite
并进行 docuread。有趣的是:
FILES
/etc/apache2/sites-available
Directory with files giving information on available sites.
/etc/apache2/sites-enabled
Directory with links to the files in sites-available for enabled
sites.
然后我发现我有一个真正的文件,sites-enabled
但没有“对应”的文件sites-available
。缺少文件sites-available
是错误消息的原因。
以下显然解决了我的问题症状:
/etc/apache2/sites-enabled $ sudo mv [such_site.conf] ../sites-available/[such_site.conf]
/etc/apache2/sites-enabled $ sudo ln ../sites-available/[such_site.conf] [such_site.conf]
/etc/apache2/sites-enabled $ sudo a2dissite [such_site]
ERROR: /etc/apache2/sites-enabled/[such_site.conf] is not a symbolic link, not deleting
Site [such_site] disabled.
/etc/apache2/sites-enabled $ sudo rm [such_site.conf]
/etc/apache2/sites-enabled $ sudo a2dissite [such_site]
Site [such_site] already disabled
答案2
对上述答案进行小幅修正。
创建链接时,请创建符号链接而不是硬链接。
文件的软链接(-s)。
sudo ln -s ../sites-available/[such_site.conf] [such_site.conf]