首先发布堆栈溢出。请原谅我的发布错误 我花了很多时间在这上面。我从500服务器错误开始。
这个很长的说法没有找到python。我的应用程序只是JS,CSS和HTML。 (在这一点上)我已经包括了yaml,因为如果我通过我的研究有错误,我不能排除自己。
非常感谢指针。
感谢。
我的app.yaml
:
application: application
version: secureable
runtime: python27
api_version: 1
threadsafe: false
handlers:
- url: /(.*\.(gif|png|jpg|ico|js|css))
static_files: \1
upload: (.*\.(gif|png|jpg|ico|js|css))
- url: /robots.txt
static_files: robots.txt
upload: robots.txt
- url: .*
script: main.py
inbound_services:
- mail
错误:
httpRequest: {
status: 500
0: {
logMessage: "File referenced by handler not found: main.py"
severity: "WARNING"
time: "2017-09-24T21:12:30.191830Z"
}
]
megaCycles: "2"
method: "GET"
requestId: resource: "/index.html"
startTime: "2017-09-24T21:12:30.138333Z"
status: 500
traceId: "618d060203d57aea2bfddc905e350698"
urlMapEntry: "main.py"
userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0"
versionId: "secureable"
}
receiveTimestamp: "2017-09-24T21:12:30.926277443Z"
resource: {
labels: {
module_id: "default"
project_id: "Application"
version_id: "secureable"
zone: "us9"
}
type: "gae_app"
}
severity: "WARNING"
timestamp: "2017-09-24T21:12:30.138333Z"
}
答案 0 :(得分:2)
如果您的应用只是HTML,CSS和JS,您可以一起删除指向Python脚本的catch-all指针,而是使用app.yaml
格式,如Hosting a Static Website on App Engine tutorial中所示。 :
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
static_files: www/index.html
upload: www/index.html
- url: /(.*)
static_files: www/\1
upload: www/(.*)
稍后,如果要使用Python模块添加服务器端逻辑,则可以添加与其关联的script
的处理程序。执行该步骤时,将使用[script_name].[var_pointing_to_wsgi_application_in_script]
形式的导入样式指针。因此,如果您有main.py
并且在其中的一个名为application
的变量设置为您的WSGI应用程序,那么您将使用script: main.application
。
答案 1 :(得分:1)
script: main.py
文件handlers
部分中的app.yaml
声明错误,应为script: main.app
。
来自Handlers element表格中的script
行(遗憾的是格式不正确,包括页面来源的引用以使其可读):
<强>脚本强>
script:
指令必须是python导入路径,例如,package.module.app
指向WSGI应用程序。最后 使用 Python模块路径的script:
指令的组件是 模块中全局变量的名称:该变量必须是a WSGI应用程序,通常按惯例称为app
。