gpt4 book ai didi

amazon-web-services - Flask-Session Redis 连接到 AWS 上的错误主机?

转载 作者:可可西里 更新时间:2023-11-01 11:25:02 24 4
gpt4 key购买 nike

from flask import Flask, session
from flask_session import Session
from redis import Redis

app = Flask(__name__)

SESSION_TYPE='redis'
SESSION_REDIS = Redis(host='xxx.xxxxx.xxxx.xxxx.cache.amazonaws.com', port=6379, db=0)
Session(app)

这在本地主机上运行时工作正常,但在 AWS 上我每次尝试加载页面时都会得到以下信息:

ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

localhost位没有任何意义。添加 print SESSION_REDIS给出:

Redis<ConnectionPool<Connection<host=xxx.xxxxxx.xxxx.xxxxx.cache.amazonaws.com,port=6379,db=0>>>

我可以通过 redis-cli 从我的 EC2 实例访问我的 ElastiCache redis 实例

$ redis-cli -h xxx.xxxxxx.xxxx.xxxxx.cache.amazonaws.com ping
PONG

不确定为什么会出现此错误。

最佳答案

您实际上并没有将任何配置应用到 Flask,您只是设置了一个变量。为了将设置应用于 flask(和任何扩展),您需要在应用程序的配置对象(本质上只是一个 dict)中设置值。

您可以直接在 Flask.config 对象中设置值

app = Flask(__name__)

app.config['SESSION_TYPE'] = 'redis'
app.config['SESSION_REDIS'] = Redis(host='xxx.xxxxx.xxxx.xxxx.cache.amazonaws.com', port=6379, db=0)

Session(app)

或者,如果你想使用你在这个文件中定义的变量,你可以这样做:

app = Flask(__name__)

SESSION_TYPE='redis'
SESSION_REDIS = Redis(host='xxx.xxxxx.xxxx.xxxx.cache.amazonaws.com', port=6379, db=0)

app.config.from_object(__name__)

Session(app)

查看有关 configuring Flask 的更多信息查看您可以设置这些配置选项的所有不同方式。

关于amazon-web-services - Flask-Session Redis 连接到 AWS 上的错误主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47109019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com