Mientras jugaba con Heroku, encontré su enfoque de usar variables de entorno para la configuración local del servidor brillante. Ahora, al configurar un servidor de aplicaciones propio, me pregunto qué tan difícil sería replicar.Ruby, Unicorn y variables de entorno
Estoy implementando una aplicación de sinatra, montando Unicorn y Nginx. Sé que a nginx no le gusta jugar con el medio ambiente, así que uno está fuera. Probablemente pueda poner los vars en algún lugar del archivo de configuración de unicornio, pero como está bajo el control de la versión con el resto de la aplicación, de alguna manera se frustra el propósito de tener la configuración en el entorno del servidor. No hay ninguna razón para no mantener mis archivos de configuración específicos de la aplicación junto con el resto de la aplicación, en lo que a mí respecta.
La tercera y última (que yo sepa) opción, es configurarlas en el shell de desove. Ahí es donde me perdí. Sé que las shells de inicio de sesión y de no inicio de sesión usan diferentes archivos rc, y no estoy seguro de si llamar a algo con sudo -u http stuff
está generando o no un shell de inicio de sesión. Hice algunos deberes y pregunté a Google y a los demás, pero aún no estoy del todo seguro de cómo abordarlo. Tal vez estoy siendo tonto ... de cualquier manera, realmente agradecería que alguien pudiera arrojar algo de luz sobre el trato con el entorno de shell.
La forma en que lo hago es poner estas variables en el archivo .bashrc, de esta manera, cuando hago ssh en el servidor obtengo estas variables directamente sin necesidad de un script de envoltura, y son seguras porque solo el persona que puede iniciar sesión en el servidor que puede acceder a ellos. El script de contenedor es útil si desea implementar su aplicación en varios servidores y tiene muchas variables para establecer. –