【问题标题】:What is your convention for web app file locations? [closed]您对 Web 应用程序文件位置的约定是什么? [关闭]
【发布时间】:2014-10-02 01:40:18
【问题描述】:

随着 apache /var/www/ 成为放置静态和基于 PHP 的应用程序的惯例。 /var/log/ 是记录输出的约定,即使有些人将它放在应用程序旁边。最后我看到/usr/local/bin/ 大量用于脚本。

对于只绑定到节点、rails、django、docker 等端口的应用程序;你想把这些文件放在哪里?

您是否为该技术创建用户? Apache 的 Apache 用户,运行节点的节点用户?或者您是否为每个应用程序创建用户?还是只允许主管或任何流程管理系统启动?

【问题讨论】:

    标签: ruby-on-rails linux django node.js docker


    【解决方案1】:

    我通常将应用程序本身放在 /opt 或 /srv 中(取决于我使用的是 debianoid 还是 redhatoid)。我有时会为 Node.js 创建一个单独的用户,但我总是应该这样做。其他时候,我以自己的用户身份运行应用程序(这很糟糕,因为该用户通过 sudoers 拥有一些管理员权限)。

    最后,由于您不能以普通用户身份运行端口

    【讨论】:

      【解决方案2】:

      在 Docker 中,您通常允许您的应用在默认情况下写入位置,但是您可以将该路径设置为 VOLUME 或使用 docker run 上的 -v 开关附加卷。

      https://docs.docker.com/userguide/dockervolumes/#volume-def

      通过执行此操作,您可以选择运行另一个 Docker 映像,其中包含具有相同卷附件的日志检查工具,用于分析应用程序的日志。

      通常在容器中,哪个用户运行该进程并不重要,因为它可以是唯一正在运行的进程(因此它将是 root)。如果您为应用程序的每个部分运行单独的容器,您也不必担心容器可以访问的文件,因为它们无法控制它所在的容器。

      注意:这是 Docker 特定的答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-01
        • 1970-01-01
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多