Развертывание Django, ненормальное завершение supervisorctl

Я пытаюсь развернуть django. Поэтому установил все на чистый VPS. Я могу запустить сервер с помощью единорога, но я пытаюсь использовать супервизора. Поэтому я следовал этому уроку вроде Я делал это в прошлом, но теперь, когда я запускаю приложение с помощью sudo supervisorctl start uniprogress, я получаю сообщение об ошибке uniprogress: ERROR (abnormal termination). Ниже вы можете найти файл журнала.

Файл:/opt/myapps/logs/gunicorn_supervisor.log

Starting uniprogress as uniusr
2014-04-24 04:54:30 [18053] [INFO] Starting gunicorn 18.0
Traceback (most recent call last):
  File "/opt/myapps/uniprogress/../bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 172, in run
    self.start()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 134, in start
    self.LISTENERS = create_sockets(self.cfg, self.log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 198, in create_sockets
    sock = sock_type(addr, conf, log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 99, in __init__
    os.remove(addr)
OSError: [Errno 13] Permission denied: '/opt/myapps/run/gunicorn.sock'
Starting uniprogress as uniusr
2014-04-24 04:54:31 [18064] [INFO] Starting gunicorn 18.0
Traceback (most recent call last):
  File "/opt/myapps/uniprogress/../bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 172, in run
    self.start()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 134, in start
    self.LISTENERS = create_sockets(self.cfg, self.log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 198, in create_sockets
    sock = sock_type(addr, conf, log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 99, in __init__
    os.remove(addr)
OSError: [Errno 13] Permission denied: '/opt/myapps/run/gunicorn.sock'
Starting uniprogress as uniusr
2014-04-24 04:54:31 [18064] [INFO] Starting gunicorn 18.0
Traceback (most recent call last):
  File "/opt/myapps/uniprogress/../bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 172, in run
    self.start()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 134, in start
    self.LISTENERS = create_sockets(self.cfg, self.log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 198, in create_sockets
    sock = sock_type(addr, conf, log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 99, in __init__
    os.remove(addr)
OSError: [Errno 13] Permission denied: '/opt/myapps/run/gunicorn.sock'
Starting uniprogress as uniusr
2014-04-24 04:54:34 [18075] [INFO] Starting gunicorn 18.0
Traceback (most recent call last):
  File "/opt/myapps/uniprogress/../bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 172, in run
    self.start()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 134, in start
    self.LISTENERS = create_sockets(self.cfg, self.log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 198, in create_sockets
    sock = sock_type(addr, conf, log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 99, in __init__
    os.remove(addr)
OSError: [Errno 13] Permission denied: '/opt/myapps/run/gunicorn.sock'
Starting uniprogress as uniusr
2014-04-24 04:54:37 [18086] [INFO] Starting gunicorn 18.0
Traceback (most recent call last):
  File "/opt/myapps/uniprogress/../bin/gunicorn", line 9, in <module>
    load_entry_point('gunicorn==18.0', 'console_scripts', 'gunicorn')()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 71, in run
    WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 143, in run
    Arbiter(self).run()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 172, in run
    self.start()
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 134, in start
    self.LISTENERS = create_sockets(self.cfg, self.log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 198, in create_sockets
    sock = sock_type(addr, conf, log)
  File "/opt/myapps/local/lib/python2.7/site-packages/gunicorn/sock.py", line 99, in __init__
    os.remove(addr)
OSError: [Errno 13] Permission denied: '/opt/myapps/run/gunicorn.sock'

person manosim    schedule 24.04.2014    source источник
comment
Похоже, пользователь, с которым вы пытаетесь запустить процесс, не имеет права записи в папку: /opt/myapps/run   -  person Bogdan Iulian Bursuc    schedule 24.04.2014
comment
Это пользователь root. Любое предложение о том, как разрешить доступ для записи?   -  person manosim    schedule 24.04.2014
comment
Использование, которое вы настроили в супервизоре, а не пользователь, который запускает супервизор: Starting uniprogress as uniusr.   -  person Bogdan Iulian Bursuc    schedule 24.04.2014
comment
Когда вы настраиваете [program] в супервизоре, вы указываете пользователя. Это пользователь, который фактически запускает процесс. И должен иметь доступ к папке.   -  person Bogdan Iulian Bursuc    schedule 24.04.2014
comment
Итак, как я дам права на запись пользователю uniusr?   -  person manosim    schedule 24.04.2014
comment
что-то вроде sdo chown -R hello:users /webapps/hello_django и sudo chmod -R g+w /webapps/hello_django например?   -  person manosim    schedule 24.04.2014
comment
Папка /opt/myapps/run. У вас должна быть группа с правом записи в эту папку. И поместите исполняющих пользователей в эту группу.   -  person Bogdan Iulian Bursuc    schedule 24.04.2014
comment
Ох, хорошо! Я думаю, что я получил это сейчас! Благодарю вас!   -  person manosim    schedule 24.04.2014


Ответы (1)


Проблема заключалась в том, что у пользователя uniusr нет прав на запись в /opt/myapps. Итак, что я сделал, чтобы исправить это, это следующее.

sudo chown -R uniusr:users /opt/myapps
sudo chmod -R g+w /opt/myapps
person manosim    schedule 24.04.2014