启用站点和站点可用目录之间有什么区别?

时间:2014-02-16 14:18:03

标签: apache2 webserver ubuntu-12.04

apache2中这两个目录的用途是什么?我们该怎么做?

3 个答案:

答案 0 :(得分:82)

区别在于sites-enabled目录中列出的虚拟站点由apache提供。在sites-available目录中,您的服务器上存在虚拟网站,但人们无法访问它们,因为它们尚未启用

  

sites-available:此目录包含Apache2虚拟主机的配置文件。虚拟主机允许配置Apache2   多个具有单独配置的站点。

     

已启用网站,如启用了mods,已启用网站的内容包含符号链接   / etc / apache2 / sites-available目录。同样的时候   sites-available中的配置文件是符号链接的,即站点   一旦Apache2重新启动,它将被激活。

请参阅此处https://help.ubuntu.com/lts/serverguide/httpd.html

答案 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。