Answers:
sites-available包含每个站点的apache配置文件。例如:
<VirtualHost *:80>
ServerName site.mysite.com
ServerAdmin my@email.com
DirectoryIndex index.php
DocumentRoot /home/user/public_html/site.mysite.com/public
LogLevel warn
ErrorLog /home/user/public_html/site.mysite.com/logs/error.log
CustomLog /home/user/public_html/site.mysite.com/logs/access.log combined
</VirtualHost>
当您要添加新站点(例如site.mysite.com)时,请在此处添加它,并使用:
a2ensite site.mysite.com
启用站点。启用站点后,指向配置文件的符号链接将放置在启用站点的目录中,表明该站点已启用。
a2ensite
并且a2dissite
位于/usr/sbin
当前默认用户路径中不包含的位置,因此制表符补全将不起作用。但是,在键入sudo a2
并按Tab键时,将同时提供a2ensite
和a2dissite
。
基本原理比系统机制更重要。
Debian提供了两个单独的目录,因此,如果您要自动管理Apache配置,则可以将所有虚拟主机放入sites-available
所有计算机中,然后可以在实际为它们提供服务的服务器上启用单个虚拟主机。这还意味着,如果一个站点引起问题(a2dissite example.com; /etc/init.d/apache2 reload
),您几乎可以立即将其禁用。
您只应在sites-available
目录中编辑文件。
切勿在sites-enabled
目录内编辑文件,否则如果您的编辑器内存不足或由于某种原因它收到了SIGHUP或SIGTERM,则可能会出现问题。
例如:如果您正在nano
编辑文件sites-enabled/default
而文件用完了,或者由于某种原因它收到了SIGHUP或SIGTERM,则将在目录内nano
创建一个名为的紧急文件。因此,目录内将有一个额外的文件。这将阻止Apache或NGINX启动。如果您的网站正在运行,它将不再可用。直到在日志中找到与该文件相关的内容然后将其删除为止,您将很难。default.save
sites-enabled
sites-enabled
default.save
在上面的示例中,如果您正在编辑sites-available
目录中的文件,则不会发生任何不良情况。该文件sites-available/default.save
将被创建,但不会对sites-available
目录内部造成任何损害。