gunicorn 无法正确启动
gunicorn won`t start corectly
当我尝试使用命令启动 gunicorn 时 gunicorn -w 3 run:app
它崩溃并给我这个错误:
[2021-08-05 08:35:34 +0000] [71840] [INFO] Booting worker with pid: 71840
[2021-08-05 08:35:34 +0000] [71840] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'run'
[2021-08-05 08:35:34 +0000] [71840] [INFO] Worker exiting (pid: 71840)
[2021-08-05 08:35:34 +0000] [71838] [WARNING] Worker with pid 71840 was terminated due to signal 15
[2021-08-05 08:35:34 +0000] [71838] [INFO] Shutting down: Master
[2021-08-05 08:35:34 +0000] [71838] [INFO] Reason: Worker failed to boot.
当我尝试使用普通命令 运行 应用程序时 flask run
它就像一个魅力。
我认为这与结构有关。但我不确定,因为我对 flask、gunicorn 和 nginx 还很陌生:
Image
unmarked.py 文件中现在是这段代码:
import requests
App = Flask(__name__)
@App.route('/', methods=['GET', 'POST'])
def home():
return render_template('welcome.html')
if __name__ == "__main__":
App.run()
如何制作gunicorn运行我一头雾水
问题可能与您传递给 gunicorn
的参数有关。 run:app
意味着它需要从 run.py
中获取 app
,但在您的情况下 app
位于 unmarked.py
,因此您需要传递第一个参数因此。
此外,我建议重命名 App -> app
,因为 Python 中 类 的大写名称。
尝试
gunicorn -w 3 unmarked:app
当我尝试使用命令启动 gunicorn 时 gunicorn -w 3 run:app
它崩溃并给我这个错误:
[2021-08-05 08:35:34 +0000] [71840] [INFO] Booting worker with pid: 71840
[2021-08-05 08:35:34 +0000] [71840] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
worker.init_process()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 134, in init_process
self.load_wsgi()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
self.wsgi = self.app.wsgi()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
return self.load_wsgiapp()
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
return util.import_app(self.app_uri)
File "/home/flask/Unmarked/venv/lib/python3.9/site-packages/gunicorn/util.py", line 359, in import_app
mod = importlib.import_module(module)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'run'
[2021-08-05 08:35:34 +0000] [71840] [INFO] Worker exiting (pid: 71840)
[2021-08-05 08:35:34 +0000] [71838] [WARNING] Worker with pid 71840 was terminated due to signal 15
[2021-08-05 08:35:34 +0000] [71838] [INFO] Shutting down: Master
[2021-08-05 08:35:34 +0000] [71838] [INFO] Reason: Worker failed to boot.
当我尝试使用普通命令 运行 应用程序时 flask run
它就像一个魅力。
我认为这与结构有关。但我不确定,因为我对 flask、gunicorn 和 nginx 还很陌生:
Image
unmarked.py 文件中现在是这段代码:
import requests
App = Flask(__name__)
@App.route('/', methods=['GET', 'POST'])
def home():
return render_template('welcome.html')
if __name__ == "__main__":
App.run()
如何制作gunicorn运行我一头雾水
问题可能与您传递给 gunicorn
的参数有关。 run:app
意味着它需要从 run.py
中获取 app
,但在您的情况下 app
位于 unmarked.py
,因此您需要传递第一个参数因此。
此外,我建议重命名 App -> app
,因为 Python 中 类 的大写名称。
尝试
gunicorn -w 3 unmarked:app