2017-05-26 9 views
0

root以外のユーザとのスーパーバイザの起動に問題があります。 私は新鮮なdebian jessieシステム(ドッカー画像)を持っています。root以外のユーザによるスーパーバイザの開始

  • 私はsupervisord apt-get install supervisor
  • をインストールし、私は、そのユーザに新しいユーザuseradd lily
  • スイッチを作成su lily
  • スタートは、私は、エラー/var/log/supervisor/supervisor.log (Persimission error)

    を取得このステップでsupervisord -n

をsupervisord

私はこのログをchmodできますf ILEはそうユリのアクセス権を持っていますが、私はそれ(chmod 777 -R /var/log/supervisor/) を行い、ユリのユーザーとsupervisord supervisord -n実行した後、私はこのエラーを取得:

Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13) 

を、私はそれを解決しようとする非常にこだわっています。 私はオープンシフト環境で展開しているので、環境を設定するためにrootアクセス権を持っていますが、supervisordを起動するとroot権限を持っていません。私の場合は、通常のユーザーが起動する必要があります。

+0

に言及しましたか?コンテナあたり1つのアプリケーションのみを実行するという、コンテナの周りの哲学にいくらか反対です。単にアプリケーションを実行してOpenShiftにコンテナを管理させることはできませんか? –

+0

@GrahamDumpleton I second –

+0

私は実行するにはapache2とphp-fpmが必要なPHPアプリケーションを起動しています。 私はスーパーバイザを使用して、これらの両方のプロセスを開始および監視しています。 – Tomas

答えて

0

としては、なぜあなたはとにかくsupervisordを使用している設定ファイルのあなたは、それが使用するユーザーアカウントの種類を指定ルートとしてデーモンを実行しますが、ユーザーが指定する必要がhere

[program:myprogram] 
command=gunicorn --worker-class socketio.sgunicorn.GeventSocketIOWorker app.wsgi:application -b 127.0.0.1:8000 
directory=/opt/myprogram 
user=user1 
autostart=true 
autorestart=true 
redirect_stderr=True 
+0

デーモンをrootとして実行できません – Tomas

関連する問題