[英]Nginx/Flask/Python App, Nginx throwing 502 Bad Gateway Error
[英]'502 Bad Gateway nginx' error for browsing Flask app in GCP
我的 Google App Engine 应用程序出现此问题。 当我使用gcloud app browse
运行应用程序时,页面会显示以下错误消息:
'502 错误网关 nginx'
我正在使用 Flask 应用程序。
这是代码:
import os
from flask_uploads import UploadSet, configure_uploads, IMAGES, patch_request_class
from uuid import uuid4
from flask import Flask, request, render_template, send_from_directory
import io
from google.cloud import vision
from google.cloud.vision import types
app = Flask(__name__)
app.config['UPLOADED_PHOTOS_DEST'] = os.getcwd()
photos = UploadSet('photos', IMAGES)
configure_uploads(app, photos)
patch_request_class(app)
APP_ROOT = os.path.dirname(os.path.abspath(__file__))
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="json_key.txt"
vision_client = vision.ImageAnnotatorClient()
@app.route('/', methods=['GET', 'POST'])
def upload_file():
labels = ''
file_url1 = ''
filename = ''
file_url = ''
target = os.path.join(APP_ROOT, '/')
if request.method == 'POST' and 'photo' in request.files:
filename = photos.save(request.files['photo'])
file_url = photos.url(filename)
with io.open(filename, 'rb') as image_file:
content = image_file.read()
image = types.Image(content=content)
response = vision_client.label_detection(image=image)
labels = response.label_annotations
return render_template('index.html', thelabels=labels,image_name=file_url)
"""@app.route('/<filename>')
def send_image(filename):
#return render_template('index.html', filename=filename)
return send_from_directory("/", filename)"""
if __name__ == '__main__':
app.run()
这是 app.yaml 文件:
runtime: python37
而且我没有使用 requirements.txt 文件?
要部署 App Engine 应用程序,您至少需要 3 个文件。
作为替代方案,您可以在部署 App 引擎应用程序时将库文件包含在文件中,但这不是推荐的方法,因为当您的应用程序扩展时,您将有更长的部署时间和更长的启动时间。
在这里你可以看到你想要的 requirements.txt 的例子
uwsgi==2.0.18
flask==1.1.1
google-cloud==0.34.0
google-cloud-vision==0.39.0
uuid==1.30.0
Flask-Uploads==0.2.1
您还可以运行命令pip freeze > requirements.txt
获取所需的文件,但请记住,您应该仅在测试虚拟环境中运行此命令,因为如果您在工作环境中执行 pip 冻结,您将获得很长时间列出许多不需要的依赖项,这些依赖项会大大减慢您的应用程序部署
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.