GNU/Linux >> Linux の 問題 >  >> Debian

Ansibleを使用してDebian11にRedis6をインストールして設定する方法

Redisはメモリ内のデータ構造ストアであり、分散型のメモリ内のKey-Valueデータベース、キャッシュ、メッセージブローカーとして使用され、オプションで耐久性があります。 Redisは、文字列、リスト、マップ、セット、並べ替えられたセット、HyperLogLogs、ビットマップ、ストリーム、空間インデックスなど、さまざまな種類の抽象データ構造をサポートしています。

Ansibleは、オープンソースのソフトウェアプロビジョニング、構成管理、およびアプリケーション展開ツールであり、インフラストラクチャをコードとして有効にします。多くのUnixライクなシステムで動作し、UnixライクなシステムとMicrosoftWindowsの両方を構成できます。

関連コンテンツ

  • Debian11にRedis6をインストールして設定する方法
  • Ansibleを使用してUbuntu20.04にRedis6をインストールおよび構成する方法
  • Ubuntu20.04にRedis6をインストールして構成する方法
  • FreeBSD13にRedis6をインストールして設定する方法
  • OpenSUSELeap15.3にRedis6をインストールして設定する方法
  • Fedora34にRedis6をインストールして設定する方法

前提条件

フォローするには、次のことを確認してください。

  • 更新されたDebianサーバー
  • インターネットへのアクセス
  • サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス

目次

  1. サーバーが最新であることを確認するためのAnsibleタスク
  2. いくつかの一般的なパッケージのインストール
  3. Redis6リポジトリの設定
  4. Redis6サーバーのインストール
  5. Redis6サーバーの構成
  6. ハンドラーの設定
  7. Debian11にRedis6をインストールしてセットアップするためのプレイブック全体

1。サーバーが最新であることを確認するためのAnsibleタスク

先に進む前に、次のタスクを使用してサーバーが最新であることを確認しましょう。

- name: Update apt repo and cache on all Debian/Ubuntu boxes
  apt:
    update_cache: yes
    force_apt_get: yes
    cache_valid_time: 3600

場所:

  1. update_cache:はい –すべてのサーバーでapt-getupdateコマンドと同等のコマンドを実行します
  2. force_apt_get:はい – aptitudeコマンドを使用せず、代わりにDebian/Ubuntuボックスでapt-getコマンドを使用します
  3. cache_valid_time:3600 – aptキャッシュがcache_valid_timeより古い場合は、それを更新します。このオプションは秒単位で設定されます。この例では、3600秒に設定されています。

アップグレードを行う

- name: Upgrade all packages on servers
  apt:
    upgrade: dist
    force_apt_get: yes

場所:

  1. アップグレード:dist –すべてのUbuntuまたはDebianLinuxサーバーで「apt-getupgrade」コマンドと同等のコマンドを実行します。つまり、すべてのパッケージを最新バージョンにアップグレードします。
  2. force_apt_get:はい –aptitudeの代わりにapt-getを使用します。

2。いくつかの一般的なパッケージのインストール

これを使用して、一般的なパッケージをインストールします。 Debianでリポジトリを設定するにはgnugpgパッケージが必要です。

- name: Install required packages
  apt:
    name:
      - gnupg
      - vim
    state: latest

3。 Redis6リポジトリの設定

公式のpackages.redis.ioからRedisの最新の安定バージョン(バージョン6)をインストールできます APTリポジトリ。リポジトリをaptに追加します インデックスを作成し、更新してインストールします:

- name: Set up Redis 6 repo
  shell: |
    curl https://packages.redis.io/gpg | sudo apt-key add -
    echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

4。 Redis6サーバーをインストールする

次に、キャッシュリポジトリを更新し、redisサーバーをインストールします

- name: Install redis
  apt:
    name: redis-server
    update_cache: yes
  notify:
    - Enable Redis

ここでは、aptを使用して最初に update_cache:yesでキャッシュを更新しています。 次に、 redis-serverをインストールします 最後に、redis-serverを有効にするハンドラーを設定します 起動時。

5。 Redis6サーバーの構成

次に、サーバーを本番環境に対応するように構成します。

サーバーがpidファイルに書き込めるように行を追加します

- name: Set redis server pid file
  lineinfile:
    path: /etc/redis/redis.conf
    regexp: "^pidfile"
    line: "pidfile /var/run/redis/redis-server.pid"
  notify:
    - Restart Redis

上記では、redis設定ファイルを更新して、 pidfile/var/run/redis/redis-server.pidという行を追加しています。 そのため、pidファイルを書き込むことができます。また、プレイブックの実行が完了したときにサービスを再起動するためのハンドラーを設定しています。

次に、セキュリティを強化するためにoutredisサーバーのパスワードを設定しましょう。

- name: Secure redis with a password
  lineinfile:
    dest: /etc/redis/redis.conf
    regexp: '^(# )?requirepass \w*$'
    line: 'requirepass {{ redis_password }}'
    state: present
  notify:
    - Restart Redis

上記では、redis設定ファイルを更新して requirepass {{redis_password}} そのため、パスワードを設定値に設定できます。また、プレイブックの実行が完了したときにサービスを再起動するためのハンドラーを設定しています。

最後に、サービスを 0.0.0.0にバインドしましょう したがって、 bind 0.0.0.0を使用して外部からアクセスできます

- name: Bind redis to 0.0.0.0
  lineinfile:
    dest: /etc/redis/redis.conf
    regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
    line: 'bind 0.0.0.0'
    state: present
  notify:
    - Restart Redis

6。ハンドラーの設定

上記のハンドラーを設定しましょう。ハンドラーはAnsibleプレイブックの通常のタスクと同じですが、タスクに「通知」ディレクティブが含まれている場合にのみ実行されます 。また、何かが変わったことを示しています。

handlers:
  - name: Restart Redis
    systemd:
      name: redis-server
      state: restarted

  - name: Start Redis
    systemd:
      name: redis-server
      state: started

  - name: Stop Redis
    systemd:
      name: redis-server
      state: stopped

  - name: Enable Redis
    systemd:
      name: redis-server
      enabled: yes

これらのハンドラーは、サービスを再起動して有効にするタスクの後に実行されます。

7。 Debian11にRedis6をインストールしてセットアップするためのプレイブック全体

これが最後のプレイブックです。ファイルを setup-redis-debian.yamlとして保存しました

---
- name: Install and set up Redis 6 in Debian 11
  hosts: debiansrv
  become: yes
  gather_facts: False
  vars:
    redis_password: j2GfJuLFR8
  tasks:
    - name: Update apt repo and cache on all Debian/Ubuntu boxes
      apt:
        update_cache: yes
        force_apt_get: yes
        cache_valid_time: 3600

    - name: Upgrade all packages on servers
      apt:
        upgrade: dist
        force_apt_get: yes

    - name: Install required packages
      apt:
        name:
          - gnupg
          - vim
        state: latest

    - name: Set up Redis 6 repo
      shell: |
        curl https://packages.redis.io/gpg | sudo apt-key add -
        echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

    - name: Install redis
      apt:
        name: redis-server
        update_cache: yes
      notify:
        - Enable Redis

    - name: Set redis server pid file
      lineinfile:
        path: /etc/redis/redis.conf
        regexp: "^pidfile"
        line: "pidfile /var/run/redis/redis-server.pid"
      notify:
        - Restart Redis

    - name: Secure redis with a password
      lineinfile:
        dest: /etc/redis/redis.conf
        regexp: '^(# )?requirepass \w*$'
        line: 'requirepass {{ redis_password }}'
        state: present
      notify:
        - Restart Redis

    - name: Bind redis to 0.0.0.0
      lineinfile:
        dest: /etc/redis/redis.conf
        regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
        line: 'bind 0.0.0.0'
        state: present
      notify:
        - Restart Redis

  handlers:
    - name: Restart Redis
      systemd:
        name: redis-server
        state: restarted

    - name: Start Redis
      systemd:
        name: redis-server
        state: started

    - name: Stop Redis
      systemd:
        name: redis-server
        state: stopped

    - name: Enable Redis
      systemd:
        name: redis-server
        enabled: yes

8。ホストファイルの作成

hosts.yamlを作成します このコンテンツを含むファイル。ここに追加したサーバーに接続できることを確認してください。

all:
  hosts:
    debiansrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: admin

8。プレイブックの実行

Ansibleをローカルにインストールする必要があります。 Ansibleをインストールするには、OSパッケージマネージャーまたはpipを使用できます。このpipコマンドを使用して、ansibleをインストールします:

pip install ansible

プレイブックを実行するには、次のコマンドを使用します:

ansible-playbook -i hosts.yaml setup-redis-debian.yaml -vv

結論

このガイドでは、ansibleを使用してDebian11にRedis6をインストールおよび構成する方法を学習しました。


Debian
  1. Debian11にAnsibleをインストールして使用する方法

  2. Debian11にRedis6.0をインストールして設定する方法

  3. Debian11にdockerをインストールして設定する方法

  1. Debian11にMariadb10をインストールして設定する方法

  2. Debian11にMongoDB5をインストールして設定する方法

  3. Debian11にRedis6をインストールして設定する方法

  1. Debianバックポートをインストールして使用する方法

  2. Debian9にRedisをインストールして設定する方法

  3. Debian に Redis をインストールして構成する方法