您将 Rails 应用程序放在服务器的啥位置?您与啥用户一起部署?

Posted

技术标签:

【中文标题】您将 Rails 应用程序放在服务器的啥位置?您与啥用户一起部署?【英文标题】:Where do you put your rails app on your server? What User do you deploy with?您将 Rails 应用程序放在服务器的什么位置?您与什么用户一起部署? 【发布时间】:2011-04-09 12:33:14 【问题描述】:

我一直将我的应用程序部署到~/apps/myApp/current(使用 Capistrano,这就是我拥有当前目录的原因)。

但我看到用户部署到喜欢/var/www/,甚至有些人在根目录下创建一个目录/myapp

我想知道是否有放置我的应用程序的理想位置?或者根本不重要。

另外你通常给你的用户起什么名字,我使用deploy作为我的用户名和组,但我看到用户使用rails或者他们总是使用的任何用户名。

这里有经验法则吗?我知道有些人可能认为这是一个主观问题,我只是想了解一下大多数人的行为。

【问题讨论】:

【参考方案1】:

在 Ubuntu 上,/srv 是安装 Rails 应用程序的好地方。不要放在/var/www,在某些情况下人们可以浏览你的应用源。

用户 www-data 非常适合运行您的应用程序(运行 apache 时,这是默认用户)。使用Passenger,您可以在其配置文件中设置PassengerDefaultUser www-data 来启用它。 不要以root 的身份运行您的应用程序。这很危险。

【讨论】:

/var/www 运行站点似乎很标准,也许我会在/var/rails/myApp 或其他地方创建一个目录。 @JoshuaPartogi,请参阅 ***.com/a/15493352/10608 了解为什么 /srv 是一个合适的地方【参考方案2】:

/var/rails/app_name/currentdeploy

【讨论】:

【参考方案3】:

我把我所有的网络资料都放在/var/www/ 下,只是因为我喜欢把它们放在一个地方,而/var/www/ 是Apache 的默认目录。没有“理想”的地方可以放置您的软件——只要把它放在您认为最合乎逻辑的地方即可。用户名几乎相同 - 我在 www-data 下运行我的 rails 东西,但你以什么用户身份运行它并不重要(只要它不是 root 用户)。

显然不应允许客户端访问 rails 应用程序本身。

【讨论】:

【参考方案4】:

/srv 是放置 http 或 ftp 的正确位置,更多信息请访问https://help.ubuntu.com/community/LinuxFilesystemTreeOverview

【讨论】:

以上是关于您将 Rails 应用程序放在服务器的啥位置?您与啥用户一起部署?的主要内容,如果未能解决你的问题,请参考以下文章

会话存储在 Rails 中的啥位置?

将用户信息放在会话中的啥位置

我应该将我的网站配置值放在 LAMP 服务器设置中的啥位置?

信号处理程序应该放在 django 项目中的啥位置?

将 logback.xml 放在 Tomcat 的啥位置?

我应该将 javascript 库放在 Grails 应用程序的啥位置?