您对Web应用程序文件位置的约定是什么?

时间:2014-08-08 14:28:12

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

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

使用仅绑定到node,rails,django,docker等端口的应用程序;你想把这些文件放在哪里?

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

2 个答案:

答案 0 :(得分:0)

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

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

通过执行此操作,您可以选择运行另一个包含日志检查工具的Docker镜像,并使用相同的卷附加来分析应用程序的日志。

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

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

答案 1 :(得分:0)

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

最后,由于你不能像普通用户那样运行端口< 1024,我使用nginx作为node.js的前端。