###前提・実現したいこと
gunicornとnginxを使ったwebアプリケーションの開発環境をdocker上で構築しています。
gunicornはPythonからsubprocessモジュールを実行してコマンド実行しています。
実現したいことは、gunicornのプロセスを立ち上げることですが、そもそも、エラーメッセージが取得できないので、それを取得する方法も見つけたいと思っています。
###発生している問題・エラーメッセージ
gunicornをコマンド実行しているのですが、特にエラーメッセージもなく、無言でコマンドが終了します。
「ps -aux」で確認してもgunicornのプロセスは存在しませんでした。
###該当のソースコード
python
1 args = ( 2 '/home/user1/venv/bin/gunicorn', 3 '--paste', 4 '/home/user1/huga/hoge/setting.ini', 5 ) 6 proc = subprocess.Popen( 7 args, 8 cwd='/home/user1/huga/hoge/', 9 env={環境変数}, 10 ) 11 stdout, stderr = proc.communicate() 12 time.sleep(1) 13 print('return code is {}'.format(proc.returncode)) 14 print('stdout is {}'.format(stdout)) 15 print('stderr is {}'.format(stderr))
上記コマンドを実行した場合、return codeは0、stdout、stderrともにNoneが帰ってきます。
###試したこと
エラーの原因を探ろうと、ログを出力する設定を追加して実行しましたが、0バイトのログファイルしか出力されませんでした。
python
1 args = ( 2 '/home/user1/venv/bin/gunicorn', 3 '--paste', 4 '/home/user1/huga/hoge/setting.ini', 5 '--error-logfile', 6 '/home/user1/log/error_tmp.log', 7 '--log-file', 8 '/home/user1/log/log_file1.log', 9 '--access-logfile', 10 '/home/user1/log/log_file2.log', 11 '--log-level', 12 'debug' 13 ) 14 proc = subprocess.Popen( 15 args, 16 cwd='/home/user1/huga/hoge/', 17 env={環境変数}, 18 )
###補足情報(言語/FW/ツール等のバージョンなど)
上記Pythonをsupervisorで設定してstartしています。
supervisorのキック自体はroot権限で実行していますが、supervisorのconfigの中でuser=user1と記述しているため、
実質gunicornはuser1で起動されています。
すみません、ご助力お願いします。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。