Configuré Passenger en desarrollo (Mac OS X) y funciona sin problemas. El único problema vino después: ahora tengo una ruta personalizada GEM_HOME
y binarios ImageMagick instalados en "/usr/local"
. Puedo ponerlos en uno de los archivos de shell rc que se obtienen y esto resuelve las variables de entorno para procesos generados desde la consola; pero ¿y pasajero? La misma aplicación no puede encontrar mis gemas cuando se ejecuta de esta manera.Configuración de variables de entorno para aplicaciones de Phusion Passenger
Respuesta
Conozco dos soluciones. El primero (documentado here) es esencialmente el mismo que manveru's-set la variable ENV directamente en su código.
El segundo es crear un envoltorio alrededor del intérprete de Ruby que usa el Pasajero, y está documentado here (busque passenger_with_ruby). Lo esencial es que se crea (y el punto PassengerRuby en su configuración de Apache a)/usr/bin/ruby_with_env, un archivo ejecutable que consiste en:
#!/bin/bash
export ENV_VAR=value
/usr/bin/ruby $*
Tanto el trabajo; el primer enfoque es un poco menos hackish, creo.
Sólo en caso de que alguien se encuentra con el mismo problema que tenía:. no se olvide de 'chmod + x/usr ./bin/ruby_with_env' –
Dado que esta es una respuesta de edad, sólo quiero confirmar esta respuesta todavía parece ser la forma recomendada de manejar este problema Más referencias:. http://blog.phusion.nl/2008/12/ 16/pasajeras-ambiente-variables-a-ruby-from-phusion pasajeros/y: http://dev.mensfeld.pl/2011/09/phusion-passenger-and-environment-variables-with-ruby-rake- aplicaciones/ – Felixyz
Más recientemente parece que esto tiene c colgado. Desde Phusion 4.0, puede utilizar las directivas de Apache 'PassEnv' y 'SetEnv': http://www.modrails.com/documentation/Users%20guide%20Apache.html#env_vars_passenger_apps – nielsbot
Me he encontrado con este problema también. Es appears que el Pasajero no pasa a través de los valores establecidos mediante la directiva apache SetEnv
, lo cual es desafortunado.
Tal vez sea posible establecer las variables de entorno en su environment.rb o boot.rb (suponiendo que estamos hablando de una aplicación Rails; no estoy familiarizado con el estante pero se supone que tiene una funcionalidad similar)
antes de hacer cualquiera requiere (especialmente antes de requerir rubygems) que puede hacer:
ENV['GEM_HOME'] = '/foo'
esto va a cambiar la variable de entorno dentro de este proceso.
Descubrí que si tiene privilegios de root en la computadora, puede establecer las variables de entorno necesarias en el archivo "envvars" y apachectl ejecutará este archivo antes de iniciar Apache.
envvars normalmente se encuentra en el mismo directorio donde se encuentra apachectl - en Mac OS X que se encuentra en/usr/sbin. Si no puede encontrarlo, busque en el código fuente de la secuencia de comandos apachectl.
Después de cambiar el archivo envvars, reinicie Apache con "apachectl -k restart".
- 1. Phusion Passenger v. WEBrick
- 2. Phusion Passenger Ubuntu 11.10
- 3. Raíles 3 Activo Pipeline + Apache + Phusion Passenger
- 4. Phusion Passenger con Ruby 1.8 y 1.9?
- 5. ¿Hay instrucciones fáciles para migrar de Phusion Passenger a Unicorn?
- 6. ¿De qué manera Phusion Passenger reutiliza hilos y procesos?
- 7. Amazon Linux stack instalando Phusion Passenger
- 8. ¿Podemos crear variables de entorno para aplicaciones de red troncal?
- 9. ¿Cómo reinicio un Phusion Passenger Standalone?
- 10. ¿Cómo puedo encontrar la versión Phusion Passenger?
- 11. Phusion Passenger y agrupación de base de datos
- 12. Configuración de variables de entorno de Gradle
- 13. Configuración de variables de entorno en Mathematica
- 14. Configuración de variables de entorno en EngineYard
- 15. ¿Cómo elimino el caché de Ruby Phusion Passenger en Ubuntu?
- 16. Ruby on Rails 3 + Apache2 + Phusion Passenger: Bundler :: excepción GemNotFound
- 17. ¿El pasajero de Fusion no ve las variables de entorno?
- 18. phusion passenger y ruby 1.9.1 ¿ya está funcionando?
- 19. ¿Phusion Passenger se reinicia correctamente cuando toco restart.txt
- 20. OSX: variables de entorno que apuntan a paquetes de aplicaciones?
- 21. Leer variables de entorno de fichero de configuración logback
- 22. variables de entorno o archivos de configuración YAML
- 23. Protección de contraseña Sitio de Rails ejecutándose en Nginx y Phusion Passenger
- 24. Inicio lento del servidor inicial al usar Phusion Passenger and Rails
- 25. ResolvePath para VB6 - resolver variables de entorno
- 26. Variables de entorno Xcode para subproyectos
- 27. Ruby, Unicorn y variables de entorno
- 28. conjunto de variables de entorno para la escritura de hormigas
- 29. Comprobación de variables de entorno
- 30. Variables de entorno de Javascript
Actualización: desde Passenger 2.2.3, la "directiva SetEnv es compatible: http: //blog.phusion.nl/2009/06/17/phusion-passenger-223-released-bug-fix-edition/ correctamente. Técnica de la respuesta de Ben me sirve muy bien pero ahora no hay necesidad de usarlo nunca más (en la mayoría de los casos) – mislav