无法使用 gunicorn 为烧瓶应用程序提供服务

Unable to serve flask application using gunicorn

我正在尝试使用 gunicorn 为烧瓶应用程序提供服务。当我使用

启动应用程序时,应用程序工作正常
python3 wsgi.py

当我做 gunicorn wsgi:app --bind 0.0.0.0:5000 它失败了。下面是我的 wsgi.py

from server import app

if __name__ == "__main__":
    app.run()

请查找完整的错误消息

[2019-07-17 06:23:23 +0000] [8814] [INFO] Starting gunicorn 19.7.1
[2019-07-17 06:23:23 +0000] [8814] [INFO] Listening at: http://0.0.0.0:5000 (8814)
[2019-07-17 06:23:23 +0000] [8814] [INFO] Using worker: sync
[2019-07-17 06:23:23 +0000] [8818] [INFO] Booting worker with pid: 8818
[2019-07-17 06:23:23 +0000] [8818] [ERROR] invalid syntax (server.py, line 117)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 135, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/usr/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/lib/python2.7/dist-packages/gunicorn/util.py", line 377, in import_app
    __import__(module)
  File "/home/project/backend/wsgi.py", line 1, in <module>
    from server import app
  File "/home/ project /backend/server.py", line 117
    fields_to_query = { **fields_to_query, **provider_query }
                         ^
SyntaxError: invalid syntax
[2019-07-17 06:23:23 +0000] [8818] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 578, in spawn_worker
    worker.init_process()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/usr/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 148, in load_wsgi
    self.reloader.add_extra_file(exc_val.filename)
AttributeError: 'NoneType' object has no attribute 'add_extra_file'
[2019-07-17 06:23:23 +0000] [8818] [INFO] Worker exiting (pid: 8818)
[2019-07-17 06:23:23 +0000] [8814] [INFO] Shutting down: Master
[2019-07-17 06:23:23 +0000] [8814] [INFO] Reason: Worker failed to boot.

您似乎在使用 python3:

  File "/home/ project /backend/server.py", line 117
    fields_to_query = { **fields_to_query, **provider_query }
                         ^
  SyntaxError: invalid syntax

但是你的 gunicorn 现在是 python2,这就是它产生无效语法错误的原因

File "/usr/lib/python2.7/dist-packages/gunicorn/util.py"