GNU/Linux >> Belajar Linux >  >> Debian

Cara menggunakan Ansible untuk menginstal dan mengkonfigurasi Redis 6 di Debian 11

Redis adalah penyimpanan struktur data dalam memori, digunakan sebagai database nilai kunci, cache, dan broker pesan terdistribusi dalam memori, dengan daya tahan opsional. Redis mendukung berbagai jenis struktur data abstrak, seperti string, daftar, peta, set, set yang diurutkan, HyperLogLogs, bitmap, aliran, dan indeks spasial.

Ansible adalah penyediaan perangkat lunak sumber terbuka, manajemen konfigurasi, dan alat penerapan aplikasi yang memungkinkan infrastruktur sebagai kode. Ini berjalan di banyak sistem mirip Unix, dan dapat mengonfigurasi sistem mirip Unix serta Microsoft Windows.

Konten Terkait

  • Cara menginstal dan mengkonfigurasi Redis 6 di Debian 11
  • Cara menggunakan Ansible untuk menginstal dan mengonfigurasi Redis 6 di Ubuntu 20.04
  • Cara menginstal dan mengkonfigurasi Redis 6 di Ubuntu 20.04
  • Cara menginstal dan mengkonfigurasi Redis 6 di FreeBSD 13
  • Cara menginstal &mengkonfigurasi Redis 6 pada OpenSUSE Leap 15.3
  • Cara menginstal dan mengonfigurasi Redis 6 di Fedora 34

Prasyarat

Untuk mengikuti, pastikan Anda memiliki:

  • Server Debian yang diperbarui
  • Akses ke Internet
  • Akses root ke server atau pengguna dengan akses sudo

Daftar Isi

  1. Tugas yang dapat dilakukan untuk memastikan server mutakhir
  2. Menginstal beberapa paket umum
  3. Menyiapkan repo Redis 6
  4. Memasang server Redis 6
  5. Mengonfigurasi Server Redis 6
  6. Menyiapkan penangan
  7. Seluruh buku pedoman untuk menginstal dan menyiapkan Redis 6 di Debian 11

1. Tugas yang memungkinkan untuk memastikan server mutakhir

Sebelum melanjutkan, izinkan kami memastikan bahwa server telah diperbarui menggunakan tugas-tugas berikut:

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

Dimana:

  1. update_cache:ya – Jalankan yang setara dengan perintah apt-get update di semua server
  2. force_apt_get:ya – Jangan gunakan perintah aptitude, alih-alih gunakan perintah apt-get pada kotak Debian/Ubuntu
  3. cache_valid_time:3600 – Perbarui cache apt jika lebih lama dari cache_valid_time. Opsi ini diatur dalam hitungan detik. Dalam contoh ini, disetel ke 3600 detik.

Melakukan peningkatan

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

Dimana:

  1. peningkatan versi:dist – Jalankan perintah yang setara dengan “apt-get upgrade” di semua server Ubuntu atau Debian Linux. Dengan kata lain, tingkatkan semua paket ke versi terbaru.
  2. force_apt_get:ya – Gunakan apt-get sebagai ganti aptitude.

2. Menginstal beberapa paket umum

Gunakan ini untuk menginstal paket umum. Paket gnugpg diperlukan untuk mengatur repo di Debian.

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

3. Menyiapkan Redis 6 Repo

Anda dapat menginstal Redis versi stabil terbaru (versi 6) dari packages.redis.io resmi gudang APT. Tambahkan repositori ke apt indeks, perbarui dan instal:

- 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. Instal server Redis 6

Sekarang perbarui cache repo dan instal server redis

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

Di sini kami menggunakan apt untuk memperbarui cache terlebih dahulu dengan update_cache:yes lalu instal redis-server dan terakhir menyiapkan penangan untuk mengaktifkan redis-server saat boot.

5. Mengonfigurasi server Redis 6

Selanjutnya kita mengkonfigurasi server agar siap produksi.

Tambahkan baris untuk mengizinkan server menulis ke file 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

Di atas, kami memperbarui file konfigurasi redis untuk menambahkan baris pidfile /var/run/redis/redis-server.pid sehingga dapat menulis file pid. Kami juga menyiapkan penangan untuk memulai kembali layanan saat buku pedoman selesai dijalankan.

Selanjutnya, mari kita siapkan kata sandi untuk server redis keluar untuk meningkatkan keamanan.

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

Di atas, kami memperbarui file konfigurasi redis untuk menambahkan baris mewajibkan sandi {{ redis_password }} sehingga dapat mengatur kata sandi menjadi nilai yang ditetapkan. Kami juga menyiapkan penangan untuk memulai kembali layanan saat buku pedoman selesai dijalankan.

Terakhir, mari kita ikat layanan ke 0.0.0.0 sehingga dapat diakses secara eksternal menggunakan 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. Menyiapkan penangan

Mari kita mengatur penangan yang tercantum di atas. Penangan sama seperti tugas normal dalam buku pedoman Ansible, tetapi mereka hanya berjalan jika Tugas berisi perintah “beri tahu” . Ini juga menunjukkan bahwa itu mengubah sesuatu.

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

Handler tersebut akan dijalankan setelah tugas dimulai ulang dan mengaktifkan layanan.

7. Seluruh buku pedoman untuk menginstal dan menyiapkan Redis 6 di Debian 11

Ini adalah buku pedoman terakhir. Saya memiliki file yang disimpan sebagai 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. Membuat file host

Buat hosts.yaml file dengan konten ini. Pastikan Anda dapat terhubung ke server yang ditambahkan di sini.

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

8. Menjalankan buku pedoman

Anda perlu Ansible diinstal secara lokal. Untuk menginstal Ansible, Anda dapat menggunakan manajer paket OS atau menggunakan pip. Gunakan perintah pip ini untuk menginstal ansible:

pip install ansible

Untuk menjalankan playbook gunakan perintah ini:

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

Kesimpulan

Dalam panduan ini, kami mempelajari cara menggunakan kemungkinan untuk menginstal dan mengonfigurasi Redis 6 di Debian 11.


Debian
  1. Cara Menginstal dan Menggunakan Ansible di Debian 11

  2. Cara menginstal dan mengkonfigurasi buruh pelabuhan di Debian 11

  3. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di Debian 11

  1. Cara Menginstal dan Mengonfigurasi Redis 6.0 di Debian 11

  2. Cara menginstal dan mengkonfigurasi MongoDB 5 di Debian 11

  3. Cara menginstal dan mengkonfigurasi Redis 6 di Debian 11

  1. Cara Menginstal Dan Menggunakan Backport Debian

  2. Cara Menginstal dan Mengonfigurasi Redis di Debian 9

  3. Cara Menginstal dan Mengonfigurasi Redis di Debian