2015-08-23 14 views
7

Django 1.8 kullanıyorum ve uygulamanızı gunicorn ile çalıştırmak istiyorum.gunicorn: gunicorn.sock'a bağlanamıyorum

benim IP'ye bağlayıcı komut satırından Tamam çalıştırabilirsiniz :

gunicorn myapp.wsgi:application --bind xx.xx.xx.xx:8001 

Ama şimdi Unix soket aracılığıyla çalıştırmak istiyorum:

gunicorn myapp.wsgi:application --bind=unix$/webapps/myapp/run/gunicorn.sock 

bu hatayı alıyorum:

Ben ls -al /webapps/myapp/run yaparsanız boş olsa
[2015-08-23 07:38:04 +0000] [18598] [INFO] Starting gunicorn 19.3.0 
[2015-08-23 07:38:04 +0000] [18598] [ERROR] Retrying in 1 second. 
[2015-08-23 07:38:05 +0000] [18598] [ERROR] Retrying in 1 second. 
[2015-08-23 07:38:06 +0000] [18598] [ERROR] Retrying in 1 second. 
[2015-08-23 07:38:07 +0000] [18598] [ERROR] Retrying in 1 second. 
[2015-08-23 07:38:08 +0000] [18598] [ERROR] Retrying in 1 second. 
[2015-08-23 07:38:09 +0000] [18598] [ERROR] Can't connect to $/webapps/myapp/run/gunicorn.sock 

Ben, soket dosyası mevcut olmadığını bakın:

srwxrwxrwx 1 opuser webapps 0 Aug 23 07:22 /webapps/myapp/run/gunicorn.sock 

Bunu nasıl düzeltebilirim?

En sonunda kullanıcısını opuser kullanıcısı olarak çalıştırmak istiyorum, --user opuser --group webapps'u gunicorn komutuna eklemeye çalıştım ama yine de aynı hatayı aldım. , unix:$(PATH) Emriniz okumalısınız anlamı:

+2

Sözdiziminin "unix: PATH" değil, "unix $ PATH" olduğundan emin misiniz? [Dokümanlar ikincisini önerir gibi görünüyor.] (Https://gunicorn-docs.readthedocs.org/en/latest/settings.html#bind) –

cevap

5

belgelerinde (http://gunicorn-docs.readthedocs.org/en/latest/run.html) 'a göre kullanmanız gereken

gunicorn myapp.wsgi:application --bind=unix:/webapps/myapp/run/gunicorn.sock 
+0

Değiştirildi - şimdi hata alıyorum 'OSError: [Errno 13] İzin reddedildi: '/ webapps/openprescribing/run/gunicorn.sock' sanırım ilerleme! Bunu nasıl düzeltebilirim? Opuser' 'gunicorn.sock' dosyasının sahibi olduğundan tuhaf görünüyor. – Richard

+0

Sanırım, "gunikicorn" komutunu "opuser" olarak çalıştırmıyorum, ama ...? Mevcut kullanıcı iznini 'gunicorn.sock' adresine de bağlamalı mıyım? – Richard

+0

Sadece sorun giderme için sokete 777 hak verebilirsiniz ve ne olduğunu görün. – henrikstroem

-1

Basitçe çift tırnak işareti olmadan aşağıdaki komutu kullanın: "gunicorn appname.wsgi". Wsgi.py'inizin bulunduğu bu komutu çalıştırdığınızdan emin olun.