2013-11-02 4 views
10

を開始するとき、私はGunicorn/nginxの/スーパーバイザを使用してDjangoの1.5を展開しようとしていますが、この段階では、私はちょうどGunicornが正常に起動するために取得しようとしているOSErrorのerrnoに1をスローします。Gunicornは

私は、コマンドラインで起動しようとしています:

gunicorn project.wsgi:application --workers 3 --user=django --group=django --bind=127.0.0.1:8100 

、それは

OSError: [Errno 1] Operation not permitted: '/tmp/wgunicorn-c7BU9r' 

トレースバックで失敗します。私は、ユーザーおよびグループなしで起動した場合

2013-11-01 20:03:24 [17860] [INFO] Starting gunicorn 18.0 
2013-11-01 20:03:24 [17860] [INFO] Listening at: http://127.0.0.1:8000 (17860) 
2013-11-01 20:03:24 [17860] [INFO] Using worker: sync 
Traceback (most recent call last): 
    File "/opt/envs/bedlounge-front/bin/gunicorn", line 9, in <module> 
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run 
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run 
    Arbiter(self).run() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/arbiter.py", line 175, in run 
    self.manage_workers() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/arbiter.py", line 470, in manage_workers 
    self.spawn_workers() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/arbiter.py", line 529, in spawn_workers 
    self.spawn_worker() 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/arbiter.py", line 482, in spawn_worker 
    self.cfg, self.log) 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/workers/base.py", line 49, in __init__ 
    self.tmp = WorkerTmp(cfg) 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/workers/workertmp.py", line 25, in __init__ 
    util.chown(name, cfg.uid, cfg.gid) 
    File "/opt/envs/bedlounge-front/lib/python2.7/site-packages/gunicorn/util.py", line 157, in chown 
    os.chown(path, uid, gid) 
OSError: [Errno 1] Operation not permitted: '/tmp/wgunicorn-c7BU9r' 

引数(私の普通のユーザーとして)、それはうまく始まります。私の理解は、私は別のユーザーまたはグループの下でこれを始めたいと思うことです。

誰かが私が間違っていることを助けることができますか?または私がこれを解決するのに役立つ情報?

ありがとうございます!

+0

を/gist.github.com/johnjohndoe/62fbdf58608143507c94)... – JJD

答えて

9

問題は、あなたのユーザーIDを別のユーザーとしてプロセスを開始しようとしてあるのかもしれません。私はあなたがOSでユーザーとグループを作成したと仮定しています。以前のコマンドをrootとして試してみるか、sudoを使用してください。

私は、コマンドラインの両方にし、オプションとしてユーザーを指定し、次のスーパーバイザ構成使用

:/:誰かが(HTTPS [ジャンゴ/ Gunicornプロジェクトの成り上がりの構成]を探している場合は

[program:gunicorn] 
command=/opt/mysite/virtual_env/bin/python \ 
    /opt/mysite/virtual_env/bin/gunicorn_django -w 2 --user=appsrun 
directory = /opt/mysite/virtual_env/app/ 
user = appsrun 
+0

gunicornを実行するユーザーについて特別なことはありますか?私がやったことを作成したことを除けば、必要なものは何かありますか? –

+0

あなたが正しいように見えます。 rootとしてスクリプトを起動するとうまくいきました。ありがとう! –