2016-07-30 6 views
1

Ich habe versucht, dieses Problem drei Tage ohne Lösung zu lösen. Jetzt bin ich bei meiner Arbeit unter Druck und brauche deine Hilfe.Bereitstellen von Django-App mit Nginx und uwsgi, Client kann keine Verbindung zum Server

Ich weiß, dass Nginx ist zu korrekten Port '20154' mit Netstat zu hören, auch ich habe den Befehl nginx -t und es ist ok. Die Protokolle haben keinen Fehler, da der Client den Server nicht erreichen kann.

Vielleicht ist das Problem mit uwsgi.init Ich weiß nicht, so dass ich hier meine cons Dateien und uwsgi init-Dateien

Ich hoffe, dass dieses Problem mit Ihrer Hilfe lösen kann, und dies mehr lernen zu lösen.

nginx.conf Datei:

user user; 
worker_processes 1; 
pid /var/run/nginx.pid; 

events { 
    worker_connections 768; 
    multi_accept on; 
} 
http { 

    ## 
    # Basic Settings 
    ## 

    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 
    # server_tokens off; 

    # server_names_hash_bucket_size 64; 
    # server_name_in_redirect off; 

    include /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    ## 
    # Logging Settings 
    ## 

    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 

    ## 
    # Gzip Settings 
    ## 
    gzip on; 
    gzip_disable "msie6"; 

    ## 
    # nginx-naxsi config 
    ## 
    # Uncomment it if you installed nginx-naxsi 
    ## 

    #include /etc/nginx/naxsi_core.rules; 

    ## 
    # Virtual Host Configs 
    ## 

    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 

nginx aktivierten Seiten

upstream django { 
    server unix:///home/ctag/env_Compass4D/Compass4D/Compass4D.sock; # for a file socket 
} 
server { 
    listen 20154;   

    location /assets/ { 

     root /home/ctag/env_Compass4D/Compass4D/; 

    } 

    location /doc/ { 
     alias /usr/share/doc/; 
     #alias /home/ctag/Compass4D/env_Compass4D/Compass4D 
     autoindex on; 
     #allow 127.0.0.1; 

    } 
    location/{ 
     #uwsgi_pass unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock; 
     proxy_pass   http://unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock; 
      #proxy_redirect  off; 
      proxy_set_header  Host    $host; 
      proxy_set_header  X-Real-IP  $remote_addr; 
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
      client_max_body_size 10m; 
     uwsgi_pass django; 
     include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed 
     } 
    location /Compass4D { 
       root /home/ctag/env_Compass4D/Compass4D/; 
    } 

uwsgi.init

# Compass4D_uwsgi.ini file 
[uwsgi] 

# Configuraciones Django 
# ruta al directorio del proyecto (ruta completa) 
chdir   = /home/ctag/env_Compass4D/Compass4D/ 
# Archivo wsgi de Django 
module   = Compass4D.wsgi 

# master 
master   = true 
# numero de procesos (trabajadores) 
processes  = 5 
# Ruta al socket 
socket   = /home/ctag/env_Compass4D/Compass4D/Compass4D.sock 
# Permisos del socket 
chmod-socket = 666 

# Loggeo para detectar fallo al startup 
#logto = /tmp/errlog 

# Al cerrar limpiar el ambiente 
vacuum   = true 
+0

auf der Erde Warum Sie machen nginx auf Port hören 20154? Es sollte auf 80 und auf 443 für SSL hören. – e4c5

+0

Nginx ist eine ** öffentlich zugängliche Server-Software **, da jemand, der versucht, auf Ihre Dienste zuzugreifen, die auf Ihrem Server laufen, über Nginx läuft. Wie e4c5 gefragt hat, WARUM wolltest du, dass Nginx einen internen lokalen Port des Dienstes hört? Das vereitelt den ganzen Zweck von Nginx, nicht wahr? – Rexford

+0

Bitte nehmen Sie sich Zeit und lesen Sie diese, Sie können einige hilfreiche Tipps finden: https://www.digitalcean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on- ubuntu-14-04 – Rexford

Antwort

0

Thi s ist die neue Konfiguration, die für mich funktionierte, Sie können die Änderungen sehen, auch den Befehl, den ich verwenden musste, danke.

Die neue sites-enabled-Datei:

upstream django { 
    server unix:///home/ctag/env_Compass4D/Compass4D/Compass4D.sock; # for a file socket 

} 
server { 
     listen 80; ## listen for ipv4; this line is default and implied 
     server_name ~^.*$; 


     location /static/ { 

       root /home/ctag/env_Compass4D/Compass4D/; 

     } 

     location /doc/ { 
       alias /usr/share/doc/; 

       autoindex on; 


     } 
     location/{ 
       #uwsgi_pass unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock; 
       proxy_pass   http://unix:/home/ctag/env_Compass4D/Compass4D/Compass4D.sock; 
       #proxy_redirect  off; 
       proxy_set_header  Host    $host; 
       proxy_set_header  X-Real-IP  $remote_addr; 
       proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
       client_max_body_size 10m; 
       uwsgi_pass django; 
       include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed 
     } 
     location /Compass4D/ { 
       root /home/ctag/env_Compass4D/Compass4D/; 
     } 

Der uwsgi Befehl, die ich verwendet Server im Hintergrund laufen zu lassen:

uwsgi --ini env_Compass4D/Compass4D/Compass4D_uwsgi.ini & 
Verwandte Themen