部署后如何修复Heroku应用程序错误

时间:2020-02-09 15:54:53

标签: python django heroku

我需要有关部署此Django应用程序的帮助。我的应用名称是fixandflex

这是在我的Procfile中:

web: gunicorn fixandflex.wsgi

日志:

heroku logs --tail --app desolate-woodland-37041
2020-02-09T15:18:12.160704+00:00 app[web.1]: self.load_wsgi()
2020-02-09T15:18:12.160704+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2020-02-09T15:18:12.160705+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-02-09T15:18:12.160705+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
2020-02-09T15:18:12.160705+00:00 app[web.1]: self.callable = self.load()
2020-02-09T15:18:12.160705+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2020-02-09T15:18:12.160706+00:00 app[web.1]: return self.load_wsgiapp()
2020-02-09T15:18:12.160706+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2020-02-09T15:18:12.160706+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-02-09T15:18:12.160706+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
2020-02-09T15:18:12.160706+00:00 app[web.1]: mod = importlib.import_module(module)
2020-02-09T15:18:12.160707+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
2020-02-09T15:18:12.160707+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-02-09T15:18:12.160707+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
2020-02-09T15:18:12.160707+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
2020-02-09T15:18:12.160708+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
2020-02-09T15:18:12.160708+00:00 app[web.1]: ModuleNotFoundError: No module named 'fixandflex.wsgi'
2020-02-09T15:18:12.160804+00:00 app[web.1]: [2020-02-09 15:18:12 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-02-09T15:18:12.193506+00:00 app[web.1]: [2020-02-09 15:18:12 +0000] [4] [INFO] Shutting down: Master
2020-02-09T15:18:12.193607+00:00 app[web.1]: [2020-02-09 15:18:12 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-02-09T15:18:12.262188+00:00 heroku[web.1]: Process exited with status 3
2020-02-09T15:19:06.178902+00:00 heroku[web.1]: State changed from crashed to starting
2020-02-09T15:19:05.740407+00:00 app[api]: Deploy fc360399 by user zameermuhammad92@gmail.com
2020-02-09T15:19:05.740407+00:00 app[api]: Release v7 created by user zameermuhammad92@gmail.com
2020-02-09T15:19:16.335950+00:00 heroku[web.1]: Starting process with command `gunicorn fixandflex_second.wsgi`
2020-02-09T15:19:18.670920+00:00 heroku[web.1]: State changed from starting to crashed
2020-02-09T15:19:18.551099+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-02-09T15:19:18.551795+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [4] [INFO] Listening at: http://0.0.0.0:3789 (4)
2020-02-09T15:19:18.551986+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [4] [INFO] Using worker: sync
2020-02-09T15:19:18.556611+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [10] [INFO] Booting worker with pid: 10
2020-02-09T15:19:18.563459+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [10] [ERROR] Exception in worker process
2020-02-09T15:19:18.563472+00:00 app[web.1]: Traceback (most recent call last):
2020-02-09T15:19:18.563478+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2020-02-09T15:19:18.563486+00:00 app[web.1]: worker.init_process()
2020-02-09T15:19:18.563487+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
2020-02-09T15:19:18.563487+00:00 app[web.1]: self.load_wsgi()
2020-02-09T15:19:18.563487+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2020-02-09T15:19:18.563487+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-02-09T15:19:18.563491+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
2020-02-09T15:19:18.563491+00:00 app[web.1]: self.callable = self.load()
2020-02-09T15:19:18.563491+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2020-02-09T15:19:18.563492+00:00 app[web.1]: return self.load_wsgiapp()
2020-02-09T15:19:18.563492+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2020-02-09T15:19:18.563492+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-02-09T15:19:18.563492+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
2020-02-09T15:19:18.563492+00:00 app[web.1]: mod = importlib.import_module(module)
2020-02-09T15:19:18.563492+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
2020-02-09T15:19:18.563493+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-02-09T15:19:18.563493+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
2020-02-09T15:19:18.563493+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
2020-02-09T15:19:18.563493+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
2020-02-09T15:19:18.563494+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-02-09T15:19:18.563494+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
2020-02-09T15:19:18.563494+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
2020-02-09T15:19:18.563494+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
2020-02-09T15:19:18.563494+00:00 app[web.1]: ModuleNotFoundError: No module named 'fixandflex_second'
2020-02-09T15:19:18.563566+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-02-09T15:19:18.593216+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [4] [INFO] Shutting down: Master
2020-02-09T15:19:18.593311+00:00 app[web.1]: [2020-02-09 15:19:18 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-02-09T15:19:18.656623+00:00 heroku[web.1]: Process exited with status 3
2020-02-09T15:19:19.000000+00:00 app[api]: Build succeeded
2020-02-09T15:19:31.434964+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=desolate-woodland-37041.herokuapp.com request_id=842fabd2-b89a-4fe5-86cf-d76502ca5e44 fwd="73.66.207.250" dyno= connect= service= status=503 bytes= protocol=https
2020-02-09T15:19:31.664094+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=desolate-woodland-37041.herokuapp.com request_id=b78b693c-c994-4289-8840-2e56341b6929 fwd="73.66.207.250" dyno= connect= service= status=503 bytes= protocol=https
2020-02-09T15:22:14.000000+00:00 app[api]: Build started by user zameermuhammad92@gmail.com
2020-02-09T15:23:50.083832+00:00 app[api]: Deploy 8e3c8092 by user zameermuhammad92@gmail.com
2020-02-09T15:23:50.083832+00:00 app[api]: Release v8 created by user zameermuhammad92@gmail.com
2020-02-09T15:23:50.804460+00:00 heroku[web.1]: State changed from crashed to starting
2020-02-09T15:24:03.626633+00:00 heroku[web.1]: Starting process with command `gunicorn fixandflex.wsgi`
2020-02-09T15:24:03.000000+00:00 app[api]: Build succeeded
2020-02-09T15:24:07.228419+00:00 heroku[web.1]: State changed from starting to crashed
2020-02-09T15:24:07.210651+00:00 heroku[web.1]: Process exited with status 3
2020-02-09T15:24:07.056965+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-02-09T15:24:07.057955+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [4] [INFO] Listening at: http://0.0.0.0:33807 (4)
2020-02-09T15:24:07.058144+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [4] [INFO] Using worker: sync
2020-02-09T15:24:07.065832+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [10] [INFO] Booting worker with pid: 10
2020-02-09T15:24:07.078270+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [10] [ERROR] Exception in worker process
2020-02-09T15:24:07.078272+00:00 app[web.1]: Traceback (most recent call last):
2020-02-09T15:24:07.078273+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2020-02-09T15:24:07.078293+00:00 app[web.1]: worker.init_process()
2020-02-09T15:24:07.078294+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
2020-02-09T15:24:07.078294+00:00 app[web.1]: self.load_wsgi()
2020-02-09T15:24:07.078295+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
2020-02-09T15:24:07.078295+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2020-02-09T15:24:07.078295+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
2020-02-09T15:24:07.078296+00:00 app[web.1]: self.callable = self.load()
2020-02-09T15:24:07.078296+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
2020-02-09T15:24:07.078296+00:00 app[web.1]: return self.load_wsgiapp()
2020-02-09T15:24:07.078297+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
2020-02-09T15:24:07.078298+00:00 app[web.1]: return util.import_app(self.app_uri)
2020-02-09T15:24:07.078298+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
2020-02-09T15:24:07.078298+00:00 app[web.1]: mod = importlib.import_module(module)
2020-02-09T15:24:07.078299+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
2020-02-09T15:24:07.078299+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-02-09T15:24:07.078300+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
2020-02-09T15:24:07.078300+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
2020-02-09T15:24:07.078300+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
2020-02-09T15:24:07.078301+00:00 app[web.1]: ModuleNotFoundError: No module named 'fixandflex.wsgi'
2020-02-09T15:24:07.078444+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-02-09T15:24:07.121010+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [4] [INFO] Shutting down: Master
2020-02-09T15:24:07.121195+00:00 app[web.1]: [2020-02-09 15:24:07 +0000] [4] [INFO] Reason: Worker failed to boot.

我的目录结构可以从这张大图片中看到:directory tree

1 个答案:

答案 0 :(得分:0)

在屏幕快照中很难看到它,但是看起来直接的问题是您拥有额外的目录级别:

  • .git/
  • fixandflex/
    • fixandflex/
      • settings.py
      • wsgi.py
      • ...
    • main/
      • ...
  • Pipfile
  • Pipfile.lock
  • ...

通常,顶级fixandflex/目录中的所有内容都将位于存储库的根目录中,位于.git/PipfilePipfile.lock旁边。

您可以从顶级项目目录中执行以下操作:

mv fixandflex fixandflex-old
cd fixandflex-old
git mv fixandflex ..
cd ..
rmdir fixandflex

然后提交并部署。

如果您不想这样做,则可以通过修改Procfile使其与现有目录结构一起使用:

web: gunicorn fixandflex.fixandflex.wsgi

尽管这样做,您将遇到其他问题。例如,您将必须更新DJANGO_SETTINGS_MODULE并将另一个fixandflex.放在前面。而且,您可能必须对设置文件中的任何INSTALLED_APPS执行相同的操作。总而言之,我建议删除无关的目录。

除了该问题之外,您还有一个名为requirement.txt的文件,该文件(a)的命名方式不是常规名称(通常是requirements.txt,结尾是s),(b)则不是如果您有PipfilePipfile.lock,则必须由Heroku使用或使用。我建议删除它。

此外,我还看到一个db.sqlite3文件。如果您使用的是SQLite,则应该知道,由于其ephemeral filesystemshould not be used on Heroku,这在Heroku上无法正常工作。

强烈建议使用相同的数据库引擎进行本地开发和生产。它们都是微妙的(并且不是那么微妙)不同,并且您不想只在代码投入生产后才发现错误。 PostgreSQL是常见的选择,并且在Heroku上得到了很好的支持,例如使用Heroku's own Postgres service