【发布时间】:2014-03-15 18:17:24
【问题描述】:
这两个目录在 Apache 2 中的用途是什么?我们该怎么做?
【问题讨论】:
标签: apache2 webserver ubuntu-12.04
这两个目录在 Apache 2 中的用途是什么?我们该怎么做?
【问题讨论】:
标签: apache2 webserver ubuntu-12.04
不同之处在于sites-enabled 目录中列出的虚拟站点由 Apache 提供服务。在sites-available 目录中,您的服务器上存在虚拟站点,但人们无法访问它们,因为它们尚未启用。
sites-available:此目录包含 Apache 2 虚拟主机的配置文件。虚拟主机允许配置 Apache 2 具有不同配置的多个站点。
sites-enabled: 与 mods-enabled 一样,sites-enabled 包含指向 /etc/apache2/sites-available 目录。同样,当一个 sites-available 中的配置文件是符号链接的,该站点 一旦 Apache2 重新启动,由它配置的将处于活动状态。
【讨论】:
您应该仅编辑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 目录造成任何损害。
【讨论】:
您可以通过在sites-available 中创建或编辑文件mysite.conf 来配置您的站点mysite(如果您愿意,也可以在同一个.conf 文件中配置多个站点)。
在此之后,为了发布站点,您必须在文件夹 sites-enabled 中创建相应的符号链接。在 Ubuntu 中,您可以这样做:
a2ensite mysite(必要时带有sudo;不带最终的.conf)
然后你必须重新加载 Apache:
sudo service apache2 reload
以后如果要修改配置,只需要触摸sites_available中的mysite.conf文件即可。更改通过符号链接自动应用于sites_enabled。只要记住重新加载 Apache。
【讨论】: