AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 102569
Accepted
Nick Bolton
Nick Bolton
Asked: 2010-01-15 00:04:28 +0800 CST2010-01-15 00:04:28 +0800 CST 2010-01-15 00:04:28 +0800 CST

根据推荐的用法,网站应该放在 /var/ 还是 /usr/ 中?

  • 772

根据关于 Linux 目录结构的指南,/usr/它用于应用程序文件,并且/var/用于更改的文件(我假设这意味着“属于应用程序的文件”)。这个对吗?

如果是这种情况,那么我在使用两者之间有点纠结。网站是一个应用程序(如果它是动态的,可以这么说),但在其他情况下,它只是 Apache 使用的文件的集合。

默认的 www 目录位于,所以我们应该通过使用(或类似的东西)/var/www/来效仿,还是选择因为它们可能是应用程序?/var/websites//usr/websites/

这是一个非常琐碎的问题,但它仍然困扰着我。对于我们的案例,我倾向于/usr/web或类似的东西,因为我们的网站都是应用程序。

更新:

这是针对我们公司网站的;它不是共享托管服务器,因此我们不必担心将它们分开/home/或类似的事情。

linux website directory
  • 7 7 个回答
  • 24322 Views

7 个回答

  • Voted
  1. Best Answer
    James Polley
    2010-01-15T01:15:54+08:002010-01-15T01:15:54+08:00

    根据FHS,/usr是用于shareable, read-only data- 不是您想要放置网站的位置。这是您应该放置代码的地方(例如 Fedora 为 Wordpress 执行此操作)。另请参阅 Fedora 的网络资产打包指南。

    /var是“可变数据文件。这包括假脱机目录和文件、管理和日志数据以及临时和临时文件。” - 更好,但仍然不完全正确 - 但很多系统都会使用/var/www,所以即使你把它放在那里是错误的,你也可以在好伙伴中。

    /srv用于“此系统提供的特定站点数据”。-- 这似乎是一个很好的匹配,但比 . 少得多/var/www。

    另一个常见的放置站点文件的地方是/home——通过创建一个名为website或这样的特殊用户,然后将文件放置在该用户的主目录中(例如,/home/website)。

    • 69
  2. ptman
    2010-01-15T00:54:42+08:002010-01-15T00:54:42+08:00

    看看文件系统层次标准(维基百科)。我自己使用 /srv/web/$domain/{htdocs,logs,cgi-bin,...}。

    • 31
  3. womble
    2010-01-15T00:09:31+08:002010-01-15T00:09:31+08:00

    网站应该存在于用户的主目录中。它们是用户数据,应该由每个站点一个用户隔离,并且动态内容应该再次作为单独的用户运行,动态内容需要读取和修改的文件需要适当的权限才能这样做。

    更新:

    仅仅因为它不是共享托管服务器并不意味着您不应该参与良好的安全实践并将独立角色划分到他们自己的安全区域中。

    • 10
  4. Dennis Williamson
    2010-01-15T00:59:02+08:002010-01-15T00:59:02+08:00

    权威指南是文件系统层次标准,它说这/srv是正确的地方。

    • 8
  5. Michael Graff
    2010-01-15T00:36:43+08:002010-01-15T00:36:43+08:00

    它们在磁盘上的位置无关紧要。这是你想要他们的地方。

    我的所有机器上都有一个从 /www 到它们真正居住的地方的符号链接,所以我不必怀疑机器之间的关系。一些较旧的机器有 /u0 和 /u1 用于用户磁盘,我将 web 东西放在那里。有些直接挂载了 /home,所以他们去那里,但 /www 总是指向正确的地方。

    我也没有在 /usr 或 /var 中放置任何配置。它进入 /local(你猜对了,它通常是 /u0 或 /u1 上某处的符号链接)。这使得备份事情变得容易。我只是备份用户磁盘。

    当然,我选择的操作系统 NetBSD 有一个主分发站点。我在这台主机(实际上是一个 xen 实例)和 rsync /usr 周围制作了我想要的系统。让我的生活变得轻松。

    • 3
  6. Maris B.
    2016-03-09T06:43:04+08:002016-03-09T06:43:04+08:00

    Apache Web 服务器在/var/www/下有默认网站,但建议将其他网站放在/srv/下

    我在 Ubuntu Server 14.04 LTS 上注意到了这一点。它的默认 apache2.conf 文件包含注释块:

    #<Directory /srv/>
    #   Options Indexes FollowSymLinks
    #   AllowOverride None
    #   Require all granted
    #</Directory>
    
    • 3
  7. Dr I
    2010-01-15T00:15:15+08:002010-01-15T00:15:15+08:00

    根据我的说法,你不应该也不应该将任何 Internet 服务放在公共系统区域。

    您的 Internet 服务(Apache / Tomcat / SSH 等)是一个前门,那么如果您将这些服务放入您的系统区域,您将可能容易受到某些攻击。

    不仅仅是将不同的服务放入一个安全的沙箱区域,就像另一个分离分区一样。

    这是您可以使用的结构示例:

    / --> Root System --> On SDA1 --> Root and System security operator access only
     |
     | -->/usr /etc /var etc.
    
    /SRV --> Web Root --> On SDB1 --> Web users access with minimal rights access.
     |
     |-->/srv/bin & /srv/dta
          |
          |-->/srv/bin/apache (or any other APPLICATION Binaries)
          |-->/srv/dta/SQL (or any other APPLICATION Datas like a 
                            database or web PHP files etc.)
    
    • 2

相关问题

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 上线的第一天:如何不杀死您的网站

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve