Je démarre un projet qui utilise des variables d'environnement pour définir la connexion à la base de données et quelques autres choses. (Ils ne voulaient pas utiliser les fichiers de configuration car les gens sont négligents et les écrasent).
Quoi qu'il en soit, j'utilise nginx et bien qu'il supporte env - il ne semble pas le supporter assez bien . Vous ne pouvez pas définir les valeurs env sur une base de bloc par serveur . En d'autres termes, cela ne fonctionnera pas:
server {
listen 80;
server_name domain;
env FOO = "bar";
}
Vous devez faire ceci:
env FOO = "bar";
http {
server {
listen 80;
server_name domain;
}
}
Ce qui signifie que je ne peux pas avoir de valeurs spécifiques à vhost. Je dois donc créer une config vhost complète pour chaque site et activer uniquement celle que je veux pour le moment afin que la valeur soit correctement définie.
Y a-t-il un moyen de contourner cela?
la source
fastcgi_pass
pour transmettre la demande à ruby / php.Réponses:
Il s'avère que si vous utilisez fastcgi, vous pouvez contourner cela en passant les valeurs de fastcgi_param .
la source
server_name
dynamiquement, cependant? Puisqu'il s'agit d'un hôte virtuel fonctionnant sous OS X, l'hôte nginx a une IP différente, donc il ne se résout pas.