【问题标题】:What is the difference between the 'sites-enabled' and 'sites-available' directory?'sites-enabled' 和 'sites-available' 目录有什么区别?
【发布时间】:2014-03-15 18:17:24
【问题描述】:

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

【问题讨论】:

标签: apache2 webserver ubuntu-12.04


【解决方案1】:

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

sites-available:此目录包含 Apache 2 虚拟主机的配置文件。虚拟主机允许配置 Apache 2 具有不同配置的多个站点。

sites-enabled: 与 mods-enabled 一样,sites-enabled 包含指向 /etc/apache2/sites-available 目录。同样,当一个 sites-available 中的配置文件是符号链接的,该站点 一旦 Apache2 重新启动,由它配置的将处于活动状态。

https://help.ubuntu.com/lts/serverguide/httpd.html

【讨论】:

  • 我应该在 sites-enabled 还是 sites-available 中编辑文件?
  • @user3448600 你应该编辑可用站点中的文件
  • 如果这些是符号链接,那么您编辑哪个并不重要
  • @Buksy 实际上,如果您使用的是 nano 编辑器,这很重要。详情见我的回答。
  • 链接好像失效了。
【解决方案2】:

重要信息:

您应该编辑sites-available 目录中的文件。

切勿编辑 sites-enabled 目录中的文件。否则,如果您的编辑器内存不足,或者由于任何原因收到SIGHUPSIGTERM,您可能会遇到问题。

例如:如果您使用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 目录造成任何损害。

【讨论】:

  • 好吧,无论如何,您都需要重新启动您的网络服务器才能使操作生效,因此,即使编辑器添加了该额外文件,您的网络服务器也会忽略它,除非您重新启动网络服务器。跨度>
  • @shamaseen 一旦你有了额外的文件,你将无法在需要时启动/重新启动网络服务器。这就是问题所在。
【解决方案3】:

您可以通过在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。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 1970-01-01
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多