我已经在开发中设置了Passenger(Mac OS X),它可以完美运行。 后来唯一的问题是:现在我在"/usr/local"安装了自定义GEM_HOME路径和ImageMagick二进制文件。 我可以把它们放在一个获取源代码的shell rc文件中,这解决了从控制台生成的进程的环境变量; 但乘客怎么样? 以这种方式运行时,相同的应用程序无法找到我的宝石。

===============>>#1 票数:12 已采纳

我知道两个解决方案。 第一个( 此处记录 )与manveru的基本相同 - 直接在代码中设置ENV变量。

第二种是围绕Passenger使用的Ruby解释器创建一个包装器,并在此处记录 (查找passenger_with_ruby)。 要点是你创建(并在Apache配置中指向PassengerRuby)/ usr / bin / ruby​​_with_env,这是一个可执行文件,包括:

#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*

两者都有效; 我认为,前一种做法不那么苛刻。

===============>>#2 票数:2

我发现如果您在计算机上拥有root权限,那么您可以在“envvars”文件中设置必要的环境变量,apachectl将在启动Apache之前执行此文件。

envvars通常位于apachectl所在的同一目录中 - 在Mac OS X上它位于/ usr / sbin中。 如果找不到它,请查看apachectl脚本的源代码。

更改envvars文件后,使用“apachectl -k restart”重启Apache。

===============>>#3 票数:2

在你做任何要求之前(特别是在需要rubygems之前)你可以做:

ENV['GEM_HOME'] = '/foo'

这将更改此过程中的环境变量。

===============>>#4 票数:1

我也遇到过这个问题。 似乎 Passenger没有通过使用SetEnv apache指令设置的值 - 这是不幸的。

也许有可能在你的environment.rb或boot.rb中设置环境变量(假设你在谈论Rails应用程序;我不熟悉Rack,但可能它有类似的功能)

  ask by mislav translate from so

未解决问题?本站智能推荐:

3回复

来自配置文件的NGINX和环境变量

我正在尝试通过它的配置文件将一些环境变量设置为nginx。 我正在使用nginx / 0.8.53而且它不起作用。 这是错误消息: 文档告诉我有一个“env”命令......所以我做错了什么? http://wiki.nginx.org/CoreModule#env 通
1回复

使用Shibboleth属性作为Ruby环境变量(Phusion Passenger)

我正在尝试为Web门户实现身份验证我正在开发Ruby on Rails(即我想保护某些页面以进行管理员访问)。 它受到Shibboleth的保护,我有一个用户数据库(我从Shibboleth得到的信息)。 服务器在apache2.4上运行Phusion passenger 我有两个问题
1回复

在本地设置Rails环境

当前,我的本地计算机和开发堆栈的Rails环境是相同的(开发) 我想让某些错误处理通知在人们在开发服务器上而不是本地出现错误时发出。 为此,我想将人们的本地计算机上的rails env设置为local或类似的东西。 那将如何工作?
1回复

Phusion乘客问题:“无法启动Ruby(机架)应用程序”

在完成sudo port install curl-ca-bundle 链接后,我开始遇到问题,但是我不知道这是否是由curl-ca-bundle引起的。 我有这个问题: 因此,在终端中,我尝试运行 并且所有宝石都进行了更新,除了以下内容: 跑步 它导致
1回复

Phusion Passenger中是否存在某种机制来防止整个应用程序崩溃?

以下开始成为我们的一个大问题。 我们的企业有大约15个Rails应用程序,在大型服务器上运行。 当两个或三个应用程序广受欢迎并且它们开始占用PassengerMaxPoolSize中的所有实例时,就会出现问题。 一旦发生这种情况,其他应用程序就会开始丢失实例,导致多个应用程序在任何给定
2回复

在Ubuntu 11.04上设置Passenger Phusion

我对任何人都曾说过“部署Rails应用程序中的红宝石很容易”的说法感到愤怒。 不,这不对。 这是我做过的最艰难的事情,我正在开发操作系统。 ew。 现在就出来了。 我终于安装了乘客(使用了低音前哨安装程序),安装程序说: 请编辑您的apache配置文件并添加以下行:
1回复

Rails Capistrano应用程序 - 环境变量在应用程序中发生变化

技术堆栈 :Rails,Capistrano和Phusion Passenger App与Nginx,Ubuntu 14.04 ENV['PATH']变量在通过Rails控制台查询时以及应用程序运行时显示不同的值。 例如,在Rails控制台中,值为: /usr/local/sbin:
1回复

Phusion Passenger无法启动Rails应用

任何帮助将不胜感激。 我正在尝试在服务器上运行基本的Rails应用程序。 我正在运行Ubuntu和Nginx。 理想情况下,我希望仍然能够运行php应用程序,因此nginx + Phusion似乎是必经之路。 应用程序所需的源文件丢失。 您可能没有正确上传应用程序文件。
4回复

在Phusion Passenger上使用Capistrano设置Ruby on Rails应用程序环境

我有2个环境, 制作和舞台演出 ,我正在使用Capistrano和capistrano-ext gem。 当我使用Capistrano部署到登台并重新启动乘客时,我希望部署的应用程序在暂存中运行,但它在默认生产中运行 我尝试过设置: 在我的部署配方中,但这没有任何效果。
1回复

Phusion Passenger进程池解释

我试图准确理解如何使用Phusion Passenger处理对rails应用程序的请求。 我已经阅读了Passenger文档(在这里找到: http : //www.modrails.com/documentation/Architectural%20overview.html#_phusio