2014-05-04 5 views
0

Je veux installer deux projets Django différents dans mon VPS - il y a deux instances différentes de Gunicorn (deux virutalenvs différents). Le premier projet fonctionne parfaitement:Nginx et deux projets Django

Nginx pour le premier projet:

server { 
server_name 95.85.34.87; 

access_log off; 
    sendfile off; 

location /static/ { 
    root Lynx/lynx/lynx_static_files/; 
} 

location/{ 
    add_header Access-Control-Allow-Origin *; 
    add_header Access-Control-Allow-Methods "GET,POST,OPTIONS"; 
    add_header   Access-Control-Allow-Headers Content-Type; 
    add_header   Access-Control-Max-Age   86400; 
    proxy_pass http://127.0.0.1:8001; 
    proxy_set_header X-Forwarded-Host $server_name; 
    proxy_set_header X-Real-IP $remote_addr; 
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; 
} 
} 

gunicorn pour le premier projet:

gunicorn_django --bind localhost:8001 

Nginx deuxième projet:

server { 
server_name 95.85.34.87:8002; 

access_log off; 
    sendfile off; 

location /static/ { 
    root Komodo/komodo/komodo_static_files/; 
} 

location/{ 
    add_header Access-Control-Allow-Origin *; 
    add_header Access-Control-Allow-Methods "GET,POST,OPTIONS"; 
    add_header   Access-Control-Allow-Headers Content-Type; 
    add_header   Access-Control-Max-Age   86400; 
    proxy_pass http://127.0.0.1:8002; 
    proxy_set_header X-Forwarded-Host $server_name; 
    proxy_set_header X-Real-IP $remote_addr; 
    add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; 
} 
} 

gunicorn pour la deuxième projet :

gunicorn_django --bind 95.85.34.87:8002 

Problème: 95.85.34.87 montre mon premier projet avec des fichiers statiques (tout fonctionne bien), 95.85.34.87:8002 fonctionne également (gunicorn travaille), mais malheureusement Nginx ne sert pas les fichiers statiques pour ce deuxième projet pour une raison quelconque. Je pense que la raison derrière le problème est server_name réglage, mais je ne suis pas sûr de savoir comment le configurer pour montrer ma statique pour le second projet.

+0

Y a-t-il des erreurs? Est-ce que nginx a des permissions pour les fichiers statiques du 2ème projet? – elssar

+0

Salut. Non, le fichier var/log/nginx/error.log ne montre aucune erreur. Les fichiers statiques ne s'affichent tout simplement pas, j'obtiens juste une erreur 404 en essayant d'accéder directement à un fichier .js. Et comment devrais-je vérifier si nginx a des permissions? – Eimantas

+0

404 s'affichent dans 'access.log', tout comme les 403, ce que vous obtiendriez si nginx n'avait pas d'autorisations pour ces fichiers. Pourquoi ne voyez-vous pas les erreurs que votre inspecteur de navigateur donne à ces fichiers lorsque vous naviguez sur votre site? – elssar

Répondre

0

J'ai résolu mon problème. Je viens de lier l'instance Gunicicorn de mon second projet non à 95.85.34.87, mais à localhost:8002 (identique au projet 1, mais port différent).