Linux FHS:/srv vs /var ...我把东西放在哪里?

wag*_*639 62 linux

我的 Web 开发经验是从 Fedora 和 RHEL 开始的,但我正在过渡到 Ubuntu。在 Fedora/RHEL 中,默认似乎使用 /var 文件夹,而 Ubuntu 使用 /srv。

是否有任何理由使用一个而不是另一个,线在哪里分开?(这让我很困惑,直到最近,我认为 /srv 是服务器/服务的 /svr)

我主要关注两种类型的文件夹

  • 默认 www 和 ftp 目录
  • 特定的应用程序文件夹,如:
    1. samba 共享(可能在 smb 文件夹下分组)
    2. 网络应用程序(这些应该放在 www 文件夹中,或者我可以做一个符号链接到它自己的目录,比如“___/www/wordpress”->“/srv/wordpress”)

我正在寻找最佳实践、行业标准和定性原因,说明哪种方法是最好的(或者至少为什么它受到青睐)。

Ger*_*nes 58

这源于LSB,它说“/var包含可变数据文件。这包括假脱机目录和文件、管理和日志数据以及瞬态和临时文件。” 但是这样说/srv:“/srv包含由该系统提供服务的特定于站点的数据。”

SuSE 是我使用的第一个将 webroot 保留在其中的 disto 之一/srv- 通常是 Debian/Ubuntu/RHEL 使用/var/www- 但也请注意,如果您使用 yum 或 apt 安装 Web 应用程序,那么它们最终可能会以/usr/share. 此外,Fedora打包指南说“一个包,一旦被用户安装和配置,就可以/srv用作数据的位置。包绝对不能开箱即用”。

在平衡反射上,我会说保持/var/www- 或者你可以通过创建/var/www一个符号链接到/srv/www. 我知道在我构建的 oracle RDBMS 系统上,我经常创建/u01 /u02等作为指向/home/oracle. 这样做的原因是许多 DBA 期望在 /u01 中找到东西,而许多其他人则期望/home/oracle. 对于系统管理员来说,一般情况也是如此——有些人会本能地查看,有些人会本能地查看/var/www/srv/www而像我这样的其他人会为DocumentRoot.

希望本文能为您提供一些指导。

  • 我通常将“服务”资源放在 /srv 下,主要是出于存储和备份的原因。通过这种方式,提供的数据可以位于不同于系统管理文件(例如 apt 缓存和日志)的存储池中,并且在需要时更容易容纳更多空间。 (10认同)
  • 当您在 /var 和 /srv 上安装了单独的驱动器并且不希望您的日志记录影响您的 IO 时,使用 /srv 分区特别有用。值得一提的是,Apache 也为`/srv` 提供了`Directory` 指令,它们只是被注释掉了。 (6认同)
  • 以下是 Linux 文件系统层次结构文档的一些链接: 对于 /srv http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/srv.html 和 /var http://www.tldp .org/LDP/Linux-Filesystem-Hierarchy/html/var.html (3认同)