2016-07-30 2 views
1

Я пытался решить эту проблему три целых дня без решения. Теперь я испытываю давление в своей работе, и мне действительно нужна ваша помощь.Развертывание приложения django с nginx и uwsgi, клиент не может подключиться к серверу

Я знаю, что nginx прослушивает правильный порт «20154», используя netstat, также я запустил команду nginx -t и ее ок. Журналы не имеют ошибки, потому что клиент не может связаться с сервером.

Может быть, проблема с uwsgi.init я не знаю, поэтому я ставлю здесь свои минусы файлы и uwsgi файлы инициализации

Я надеюсь, что может решить эту проблему с вашей помощью и решить эту проблему узнать больше.

nginx.conf файл:

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 включен сайты

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

Почему на земле вы делаете Nginx слушать порт 20154? он должен слушать 80 и 443 для SSL – e4c5

+0

Nginx - это ** общедоступный сервер ** программное обеспечение, как и в случае с кем-то, пытающимся получить доступ к вашим службам, работающим внутри вашего сервера, будет проходить через Nginx. Как спросил e4c5, ПОЧЕМУ на земле вы хотите, чтобы Nginx прослушивал локальный порт внутренней службы? Это побеждает всю цель Nginx, не так ли? – Rexford

ответ

0

Thi s - новая конфигурация, которая сработала для меня, вы можете увидеть изменения, а также команду, которую мне пришлось использовать, спасибо.

Новые сайты с поддержкой файла:

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/; 
     } 

Команда uWSGI, которую я использовал для запуска сервера в фоновом режиме:

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