[解決済み] [Solved] gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot'. 3> django
2022-01-25 21:46:44
質問
私はdjangoアプリを持っていて、最初にgunicornで、後にsupervisorとnginxでそれをセットアップしようとしています。
アプリは、通常のdjangoコマンドで、次のように完璧に実行されています。
python manage.py runserver
gunicornをpipでインストールすると、以下のようになります。
pip install gunicorn
で、djangoのバージョンは
1.5.3
仮想環境内で以下のコマンドを実行すると、以下のようになります。
gunicorn hello.wsgi:application -b xx.xxx.xxx.xx:8000
というエラーに直面しました。
Traceback (most recent call last):
File "/root/Envs/proj/bin/gunicorn", line 9, in <module>
load_entry_point('gunicorn==19.0.0', 'console_scripts', 'gunicorn')()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 74, in run
WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 166, in run
super(Application, self).run()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 71, in run
Arbiter(self).run()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 169, in run
self.manage_workers()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 477, in manage_workers
self.spawn_workers()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 537, in spawn_workers
time.sleep(0.1 * random.random())
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 209, in handle_chld
self.reap_workers()
File "/root/Envs/proj/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 459, in reap_workers
raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
では、なぜ上記のようなエラーが発生するのか、そしてその対策は?
解決方法は?
実は、ここでの問題は wsgi ファイルそのものにありました。django 1.3 より前のバージョンでは、wsgi ファイルの名前は拡張子が
.wsgi
しかし、最近のバージョンでは、拡張子が
.py
つまり、wsgi ファイルは Python モジュールでなければなりません。
ということで、このファイルは
hello_wsgi.py
で、コマンドは
gunicorn hello:application -b xx.xxx.xxx.xx:8000
関連
-
pythonを使ったオフィス自動化コード例
-
Pythonによるjieba分割ライブラリ
-
Python百行で韓服サークルの画像クロールを実現する
-
Pythonの@decoratorsについてまとめてみました。
-
Python 入出力と高次代入の基礎知識
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] RuntimeWarning: DateTimeFieldがナイーブなdatetimeを受信した
-
[解決済み】Django TemplateDoesNotExist?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
PythonによるLeNetネットワークモデルの学習と予測
-
ピロウズ画像色処理の具体的な活用方法
-
Python関数の高度な応用を解説
-
python string splicing.join()とsplitting.split()の説明
-
Python jiabaライブラリの使用方法について説明
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】ValueError: xとyは同じサイズでなければならない