您将 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/current
和 deploy
【讨论】:
【参考方案3】:我把我所有的网络资料都放在/var/www/
下,只是因为我喜欢把它们放在一个地方,而/var/www/
是Apache 的默认目录。没有“理想”的地方可以放置您的软件——只要把它放在您认为最合乎逻辑的地方即可。用户名几乎相同 - 我在 www-data
下运行我的 rails 东西,但你以什么用户身份运行它并不重要(只要它不是 root 用户)。
显然不应允许客户端访问 rails 应用程序本身。
【讨论】:
【参考方案4】:/srv 是放置 http 或 ftp 的正确位置,更多信息请访问https://help.ubuntu.com/community/LinuxFilesystemTreeOverview
【讨论】:
以上是关于您将 Rails 应用程序放在服务器的啥位置?您与啥用户一起部署?的主要内容,如果未能解决你的问题,请参考以下文章