Bagaimana cara menginstal Redis di Ubuntu 16.04?


65

Saya bekerja dengan Laravel tetapi saya telah menginstal semuanya sendiri (php, mysql, composer, nginx) dan sekarang saya perlu menginstal Redis dan mengkonfigurasinya sehingga saya dapat menggunakannya untuk driver antrian di Laravel.

Cara menginstalnya, karena tidak dapat diinstal melalui apt-get install redis

saya mendapatkan kesalahan ini:

ubuntu@ubuntu:~$ sudo apt-get install redis
[sudo] password for ubuntu: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package redis

13
sudo apt-get install redis-server
Darren Weber

E: Unable to locate package redis-server...? Linux ubuntu-xenial 4.4.0-112-generic
citynorman

Apakah Anda mencoba menginstal ini di Windows? Maksud saya ada E:di baris Anda?
lewis4u

Saya harus lari sudo apt-get updateuntuk memperbaikiE: Unable to locate package redis-server
citynorman

Jawaban:


114

Saya pikir selalu lebih baik (dan lebih sederhana) untuk menginstal dari repo utama sebagai opsi pertama jika Anda tidak memiliki persyaratan khusus.

Paket yang Anda cari bernama redis-server. Anda dapat memeriksa info paketnya dengan apt show redis-server.

Anda juga dapat mencari semua paket yang menyebutkan redis dengan apt search redis, atau bahkan melakukan penyaringan sederhana menggunakan grep, gunakan apt search redis | grep phpuntuk mencari php-redisatau paket terkait misalnya.

Jadi, Anda cukup menjalankan:

sudo apt install redis-server

pada terminal Anda, untuk menginstal lingkungan redis(server) yang berfungsi penuh .

Jika Anda memiliki persyaratan khusus, Anda selalu dapat membangun dari sumber dan menginstal sebagai @George diposting pada jawabannya.

Semoga ini bisa membantu.


apakah ada 2 versi redis? redis normal dan redis server atau apa, sekarang saya agak bingung
lewis4u

6
OK saya sudah mengujinya dan saya sampai pada kesimpulan bahwa saya tidak perlu melakukan apa-apa kecuali sudo apt-get install redis-serversaya tidak tahu apa itu semua dalam jawaban di atas ... entah bagaimana tidak perlu melakukan semua itu! ?
lewis4u

5
Saya pikir ini terkait dengan preferensi pribadi, beberapa orang lebih suka membangun dari sumber (dan melakukannya untuk setiap versi perangkat lunak) agar lebih mutakhir, dll. Saya tidak setuju dengan ini kecuali untuk kasus yang sangat khusus, seperti yang saya sebutkan (dengan sistem yang stabil dalam pikiran), saya lebih suka paket tim Ubuntu karena mereka cukup teruji terhadap semua sistem Ubuntu (desktop, server, core, cloud) .
dgonzalez

2
OK ... untuk kebutuhan saya apt-get install redis-server sudah lebih dari cukup
lewis4u

11
Ini harus menjadi jawaban yang diterima
Nam G VU

54

Untuk menginstal redis ikuti langkah-langkah ini:

  1. Siapkan pengguna non-root dengan sudohak istimewa

  2. Instal build dan uji dependensi:

    sudo apt update
    sudo apt full-upgrade
    sudo apt install build-essential tcl
    
  3. Siapkan redis:

    1. Unduh salinan terbaru melalui tautan ini atau dengan ini

      curl -O http://download.redis.io/redis-stable.tar.gz
      
    2. Buat folder sementara untuk itu di katakan /home/username/redis-stabledirektori Anda
    3. Pindah ke folder yang dibuat dan ekstrak

      tar xzvf redis-stable.tar.gz
      
    4. Ubah ke folder cd redis-stabledan bangun dengan

      make
      make test
      sudo make install
      
  4. Konfigurasikan redis:

    1. Buat direktori konfigurasi:

      sudo mkdir /etc/redis
      
    2. Pindahkan file konfigurasi redis sampel:

      sudo cp /home/george/redis-stable/redis.conf /etc/redis
      
    3. Edit file:

      sudo nano /etc/redis/redis.conf # or with any other text editor
      
    4. Membuat dua perubahan di sana:
      supervised nountuk supervised systemd
      dirke dir /var/lib/redis# untuk dump data persisten
  5. Mengatur file unit systemd:

    sudo nano /etc/systemd/system/redis.service
    

    Tambahkan teks:

    [Unit]
    Description=Redis In-Memory Data Store
    After=network.target
    
    [Service]
    User=redis
    Group=redis
    ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
    ExecStop=/usr/local/bin/redis-cli shutdown
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  6. Siapkan pengguna, grup, dan direktori redis:

    buat pengguna dan grup redis dengan ID yang sama tetapi tanpa direktori home:

    sudo adduser --system --group --no-create-home redis   
    sudo mkdir /var/lib/redis   # create directory
    sudo chown redis:redis /var/lib/redis   # make redis own /var/lib/redis
    sudo chmod 770 /var/lib/redis   # adjust permission
    
  7. Tes redis:

    1. Mulai layanan redis:

      sudo systemctl start redis
      
    2. Periksa status:

      systemctl status redis
      

      Hasil status jika berhasil dimulai:

      Output
      ● redis.service - Redis Server
       Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2016-05-11 14:38:08 EDT; 1min 43s ago
       Process: 3115 ExecStop=/usr/local/bin/redis-cli shutdown (code=exited, status=0/SUCCESS)
       Main PID: 3124 (redis-server)
       Tasks: 3 (limit: 512)
       Memory: 864.0K
       CPU: 179ms
       CGroup: /system.slice/redis.service
                └─3124 /usr/local/bin/redis-server 127.0.0.1:6379
      
    3. Contoh uji:

      1. Menghubung:

        redis-cli
        
      2. Uji konektivitas saat diminta:

        127.0.0.1:6379> ping   # result PONG
        
      3. Periksa kemampuan untuk mengatur kunci:

        127.0.0.1:6379 set test "It's working!"  # result ok
        
      4. Dapatkan kunci yang baru saja diatur:

        127.0.0.1:6379 get test  # result "It's working!"
        
      5. Keluar redis:

        127.0.0.1:6379 exit
        
      6. Mulai ulang redis dan jalankan kembali langkah 1, 4, dan 5 untuk terhubung lagi dengan klien dan konfirmasikan bahwa nilai tes Anda masih tersedia, maka itu berfungsi seperti yang diharapkan:

        sudo systemctl restart redis
        
  8. Aktifkan redis untuk memulai saat boot:

    sudo systemctl enable redis
    

Sumber:

Digital Ocean - cara menginstal dan mengkonfigurasi redis di Ubuntu 16.04

Tautan unduhan langsung


apakah perlu melakukan semua ini seperti yang Anda tulis? karena saya hanya mencoba menginstal redis pada mesin yang berbeda dengan sudo apt-get install redis-serverdan saya dapat menjalankan redis-clidan mengatur variabel dan memanggil mereka tanpa masalah ... jadi saya bertanya karena saya ingin belajar!
lewis4u

4
Jika Anda ingin menginstal versi terbaru ini adalah rute yang harus diambil tetapi jika Anda tidak begitu khawatir tentang mendapatkan terbaru maka sudo apt-get install redis-serveradalah jalan untuk menariknya. Sekali lagi ini adalah kesempatan untuk belajar bagaimana redissebenarnya bekerja dan bagaimana pengaturannya. Saya pribadi lebih suka melakukannya dengan cara ini sehingga saya tahu masuk dan keluar dari sistem dan dapat mengubahnya sesuai dengan kebutuhan dan harapan saya.
George Udosen

Saya penggemar Anda sekarang.
Tiago Bértolo

1
@TiagoBertolo obrigado!
George Udosen

1
@PrimeTimeTran Saya pikir maksudnya jalankan kembali langkah 1, 4 dan 5 dari langkah 7: 3, bukan dari keseluruhan prosedur.
muru

25

Seperti dijelaskan di sini . Pertama-tama tambahkan repositori PPA ke OS Anda kemudian perbarui daftar repositori Anda dan instal.

sudo add-apt-repository ppa:chris-lea/redis-server
sudo apt-get update
sudo apt-get install redis-server

3
menggunakan ppa jauh lebih mudah
cwhsu

4
Ini bekerja sangat baik untuk memutakhirkan di tempat dari versi 3.0 standar yang tersedia di repo standar ke versi 4.0 di Ubuntu 16.04. Terima kasih
jamescampbell

2
Jawaban Terbaik!!!!
James M

1
Masih berlaku untuk Ubuntu 18.04; Saya bisa mendapatkan versi Redis terbaru dengan cara ini, sebagai lawan dari versi yang jauh lebih tua (1 rilis utama / 12 bulan di belakang).
cdjaco

4

Mengikuti jawaban George , setelah berlari make(langkah 3, bagian 4), cdmasuk redis-stable/utilsdan lari ./install_server.sh.

Skrip interaktif ini akan membantu Anda menentukan port dan lokasi file lainnya, dan setelah itu Anda dapat segera menjalankannya redis-cli.

Direktori yang sama juga memiliki skrip berguna untuk memulai dan menghentikan server.


Job for redis-server.service failed because the control process exited with error code. See "systemctl status redis-server.service" and "journalctl -xe" for details. invoke-rc.d: initscript redis-server, action "start" failed. ● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Wed 2017-03-29 19:19:59 UTC; 37ms ago Docs: http://redis.io/documentation, man:redis-server(1)
Stevie G

0

1) Pertama-tama buka situs redis.io

2) dan Anda melihat di sana memeriksa halaman unduhan

3) Buka terminal

4) redis-server kebijakan apt-cache

Anda dapat melihat tabel versi untuk tampilan versi sistem operasi Anda

5) sudo apt-get install redis-server

Don't getting this way install. Because redis server installing, but redis server install the your Ubuntu operating system version.

6) Cara termudah Pergi ke situs redis.io dan klik tautan unduh Lebih lanjut Anda akan pergi gulir ke bawah Anda akan melihat instalasi

almost same way mac

7) Pertama-tama Anda masukkan perintah pembaruan. Semua repo akan diperbarui.

 sudo apt-get update

8) sudo apt-get install build-essential tcl

9) mkdir redis

10) wget http://download.redis.io/releases/redis-4.0.0.tar.gz

11) Sekarang berikan perintah tar

   unzip tar file.
   tar xzf redis-4.0.0.tar.gz

12) cd redis-4.0.0

13) make- membuat biner redis

jika setelah selesai Anda dapat melihat perintah "make test"

14) src/redis-server- mulai server redis

15) src/redis-cli- mulai klien redis

set name vadivel
    Ok
    get name
    "vadivel"

16) sudo make install- setiap kali memberikan perintah redis pada masukkan dir

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.