Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So installieren und konfigurieren Sie Redis auf ElasticBeanstalk

Die akzeptierte Antwort ist großartig, wenn Sie ElastiCache verwenden (wie RDS, aber für Memcached oder Redis). Wenn Sie jedoch versuchen, EB anzuweisen, Redis in der EC2-Instanz bereitzustellen, in der es Ihre App hochfährt, möchten Sie eine andere Konfigurationsdatei, etwa wie folgt:

packages: 
  yum:
    gcc-c++: [] 
    make: []
sources:
  /home/ec2-user: http://download.redis.io/releases/redis-2.8.4.tar.gz
commands:
  redis_build:
    command: make
    cwd: /home/ec2-user/redis-2.8.4
  redis_config_001:
    command: sed -i -e "s/daemonize no/daemonize yes/" redis.conf
    cwd: /home/ec2-user/redis-2.8.4
  redis_config_002:
    command: sed -i -e "s/# maxmemory <bytes>/maxmemory 500MB/" redis.conf
    cwd: /home/ec2-user/redis-2.8.4
  redis_config_003:
    command: sed -i -e "s/# maxmemory-policy volatile-lru/maxmemory-policy allkeys-lru/" redis.conf
    cwd: /home/ec2-user/redis-2.8.4
  redis_server:
    command: src/redis-server redis.conf
    cwd: /home/ec2-user/redis-2.8.4

WICHTIG: Die Befehle werden in alphabetischer Reihenfolge nach Namen ausgeführt, wenn Sie also andere Namen als redis_build wählen , redis_config_xxx , redis_server , stellen Sie sicher, dass sie so ausgeführt werden, wie Sie es erwarten.

Ihre andere Möglichkeit besteht darin, Ihre App mithilfe von Docker mit Redis zu containerisieren und Ihre App dann als eine Reihe von Docker-Containern bereitzustellen, anstatt in der Sprache, in der Sie sie geschrieben haben. Wie Sie dies für eine Flask-App tun, wird hier beschrieben.

Sie können alles in einen Container stauen und auf diese Weise bereitstellen, was einfacher ist, aber nicht gut skaliert, oder Sie können die Elastic Beanstalk Multi-Container-Bereitstellungen von AWS verwenden. Wenn Sie docker-compose verwendet haben , können Sie dieses Tool verwenden, um eine docker-compose.yml umzuwandeln in die von AWS gewünschte Form, Dockerrun.aws.json .