2010-10-12 33 views
1

J'utilise actuellement nginx avec passager pour servir mon application rails. envisager d'inclure un proxy inverse de mise en cache à l'équation. Puis-je utiliser la même instance de nginx en tant que proxy inverse (fonctionnant sur le port 80, servant à la fois des actions statiques et e-tagged) ou aurais-je besoin d'une instance différente de nginx ou d'un proxy inverse totalement différent?nginx être à la fois proxy inverse et serveur web

Merci!

Répondre

4

Je pense que vous pouvez utiliser la même instance de NGINx pour faire les deux mais vous devrez configurer votre application pour écouter sur un autre port. Vous pouvez exécuter votre application sur le port 8080 écoute localhost seulement et le proxy inverse sur le port 80.

Une partie serveur de votre configuration nginx pourrait ressembler à ceci

server { 
    listen 127.0.0.1:8080; 
    server_name localhost; 
    root /webapps/foo.com/public; 
    passenger_enabled on; 
} 

server { 
    listen 80; 
    server_name www.foo.com; 
    location/{ 
    proxy_pass http://127.0.0.1:8080; 
    } 
} 

S'il vous plaît ne me clouer sur la syntaxe exacte, c'est juste pour montrer l'idée.

Espérons que cela aide.

+0

Fonctionne comme un charme. Merci! – halfdan