apache2中这两个目录的用途是什么?我们该怎么做?
答案 0 :(得分:82)
区别在于sites-enabled
目录中列出的虚拟站点由apache提供。在sites-available
目录中,您的服务器上存在虚拟网站,但人们无法访问它们,因为它们尚未启用。
sites-available:此目录包含Apache2虚拟主机的配置文件。虚拟主机允许配置Apache2 多个具有单独配置的站点。
已启用网站,如启用了mods,已启用网站的内容包含符号链接 / etc / apache2 / sites-available目录。同样的时候 sites-available中的配置文件是符号链接的,即站点 一旦Apache2重新启动,它将被激活。
答案 1 :(得分:62)
您应该在sites-available
目录中编辑仅文件。
永远不要编辑sites-enabled
目录中的文件,否则如果编辑器内存不足或者出于任何原因,它会收到SIGHUP或SIGTERM,则可能会出现问题。
例如:如果您使用nano
编辑文件sites-enabled/default
并且内存不足,或者出于任何原因,它会收到SIGHUP或SIGTERM,那么nano
将会在default.save
目录中创建名为sites-enabled
的紧急文件。因此,sites-enabled
目录中会有一个额外的文件。这将阻止Apache或NGINX启动。如果您的网站正常运行,它将不再存在。您将很难在日志中找到与default.save
文件相关的内容,然后将其删除。
在上面的示例中,如果您正在编辑sites-available
目录中的文件,则不会发生任何错误。文件sites-available/default.save
已经创建,但它不会对sites-available
目录造成任何伤害。
答案 2 :(得分:2)
您可以通过在mysite
中创建或编辑文件mysite.conf
来配置站点sites-available
(如果愿意,还可以在同一.conf文件中配置多个站点)。
此后,要发布站点,您必须在sites-enabled
中创建对应的符号链接。在Ubuntu中,您可以这样做:
a2ensite mysite
(必要时使用sudo
;并且没有最终的.conf)
然后必须重新加载Apache:
sudo service apache2 reload
稍后,如果要修改配置,则只需触摸mysite.conf
中的sites_available
。更改通过符号链接自动应用于sites_enabled
。只记得重新加载Apache。