2016-07-30 22 views
1

私はこの問題を3つの解決策なしで解決しようとしています。今、私は自分の仕事を圧迫しており、本当にあなたの助けが必要です。nginxとuwsgiを使用してdjangoアプリケーションをデプロイすると、クライアントはサーバーに接続できません

私はnginxがnetstatを使って正しいポート '20154'を聞いていることを知っています。また、nginx -tコマンドとokを実行しています。クライアントはサーバーに到達できないため、ログにはエラーはありません。

はたぶん問題は、私は知らないuwsgi.initであるので、私はここに私の短所ファイルを置くとuwsgi initが、私はあなたの助けを借りて、この問題を解決し、より多くを学ぶこの問題を解決することを願って

をファイル。

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

ティ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 & 
関連する問題