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)
이것은 localhost에서 실행할 때 잘 작동하지만 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>>>
다음을 통해 EC2 인스턴스에서 ElastiCache redis 인스턴스에 연결할 수 있습니다. redis-cli
$ 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)
이러한 구성 옵션을 설정할 수있는 다양한 방법을 모두 보려면 Flask 구성에 대한 자세한 정보 를 참조하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다