使用gcloud部署我的Python Web应用程序时出现服务器错误500

时间:2020-07-06 02:08:55

标签: python flask server gcloud internals

在跟随freecampcode的网络应用程序tutorial,创建了自己的Google Cloud SDK项目并使用Python和Flask(我发现他们大多认为是this tutorial)部署了示例社交网络网站之后,我得到了相同的结果错误:Internal/Unknown Server Error 500,看起来像:

Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.

检查日志时,出现错误:

-2020-07-06 01:51:29 default[20200705t214944]  "GET / HTTP/1.1" 500
-2020-07-06 01:51:32 default[20200705t214944]  "GET /favicon.ico HTTP/1.1" 500

任何帮助将不胜感激。我已经在这个问题上停留了一段时间。如果您需要有关该项目的其他信息,请告诉我。这是我的第一个gcloud项目。

编辑:我检查了错误日志并看到了错误:

ImportError: No module named main
    at LoadObject (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:85)
at _LoadHandler (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:311)
at Handle (/base/alloc/tmpfs/dynamic_runtimes/python27g/174489198b39d9fb/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:240)

所以我添加了文件 main.py ,内容如下:

from app.wsgi import main as app

entrypoint: gunicorn -b :$PORT app.wsgi:main

而且我仍然遇到相同的内部错误。

2 个答案:

答案 0 :(得分:0)

一种方法是尝试关闭调试模式

如果仍然无法正常运行,请尝试以下操作,以获取出现此错误的确切详细信息

尝试此操作将返回确切错误

@app.errorhandler(500)
  def internal_server_error(e):
    return jsonify(error=str(e)), 500

答案 1 :(得分:0)

我注意到的是,教程1(this one)包含python2的使用方法,而第二个教程(this one)是使用python3构建的方法。

还有什么python2不再受支持,因此没有必要学习如何使用它。这里是reference

我想您必须在app.yaml文件中更改环境。 Here是指python3环境。我将从那开始。

我也建议您转到Google Cloud Platform并打开App Engine(直接link)。在右侧,您可以使用名为“ App Engine快速入门”或“ Hello World”的教程。您可以选择Python并进入创建HelloWorld应用的整个过程,顺便说一下,这也是Flask。我什至会在您尝试一次之前尝试。

我希望它将对您有帮助!