Cách cài đặt và cấu hình Redis trên Ubuntu 16.04
Redis là một repository key-value trong bộ nhớ được biết đến với tính linh hoạt, hiệu suất và hỗ trợ ngôn ngữ rộng rãi. Trong hướng dẫn này, ta sẽ trình bày cách cài đặt và cấu hình Redis trên server Ubuntu 16.04.Yêu cầu
 Để hoàn thành hướng dẫn này, bạn cần truy cập vào  server  Ubuntu 16.04. Bạn  cần  một  user  không phải root có  quyền  sudo để thực hiện các chức năng quản trị cần thiết cho quá trình này. Bạn có thể tìm hiểu cách  cài đặt  account  với các  quyền  này  theo  hướng dẫn  cài đặt   server  ban đầu Ubuntu 16.04 của  ta .
  Khi đã sẵn sàng  bắt đầu, hãy đăng nhập vào  server  Ubuntu 16.04 với  user  sudo của bạn và tiếp tục bên dưới.
Cài đặt Phụ thuộc Xây dựng và Kiểm tra
Để có được version Redis mới nhất, ta sẽ biên dịch và cài đặt phần mềm từ nguồn. Trước khi ta download mã, ta cần đáp ứng các phụ thuộc xây dựng để ta có thể biên dịch phần mềm.
 Để thực hiện việc này,  ta  có thể cài đặt gói siêu build-essential từ repository  Ubuntu.  Ta  cũng sẽ  download  gói tcl , mà  ta  có thể sử dụng để kiểm tra các file  binary   của bạn .
  Ta  có thể cập nhật  cache  ẩn gói apt local   của bạn  và cài đặt các phần phụ thuộc  bằng lệnh :
- sudo apt-get update 
- sudo apt-get install build-essential tcl 
Download , biên dịch và cài đặt Redis
Tiếp theo, ta có thể bắt đầu xây dựng Redis.
Download và extract mã nguồn
 Vì  ta  sẽ không cần giữ mã nguồn mà  ta  sẽ biên dịch lâu dài ( ta  luôn có thể  download  lại),  ta  sẽ xây dựng trong /tmp . Hãy chuyển đến đó ngay bây giờ:
- cd /tmp 
Bây giờ, hãy download version ổn định mới nhất của Redis. Điều này luôn có sẵn tại một URL download ổn định :
- curl -O http://download.redis.io/redis-stable.tar.gz 
Extract tarball bằng lệnh :
- tar xzvf redis-stable.tar.gz 
Di chuyển vào cấu trúc folder nguồn Redis vừa được extract :
- cd redis-stable 
Xây dựng và cài đặt Redis
Bây giờ, ta có thể biên dịch các mã binary Redis bằng lệnh :
- make 
Sau khi các file binary được biên dịch, hãy chạy bộ thử nghiệm đảm bảo mọi thứ được xây dựng chính xác. Bạn có thể thực hiện việc này bằng lệnh :
- make test 
Quá trình này thường mất vài phút để chạy. Sau khi hoàn tất, bạn có thể cài đặt các file binary vào hệ thống bằng lệnh :
- sudo make install 
Cấu hình Redis
Bây giờ Redis đã được cài đặt, ta có thể bắt đầu cấu hình nó.
 Để bắt đầu,  ta  cần tạo một folder  cấu hình.  Ta  sẽ sử dụng folder  /etc/redis thông thường, có thể được tạo  bằng lệnh :
- sudo mkdir /etc/redis 
Bây giờ, hãy sao chép file cấu hình Redis mẫu có trong repository lưu trữ nguồn Redis:
- sudo cp /tmp/redis-stable/redis.conf /etc/redis 
Tiếp theo, ta có thể mở file để điều chỉnh một số mục trong cấu hình:
- sudo nano /etc/redis/redis.conf 
Trong file , hãy tìm chỉ thị được supervised . Hiện tại, điều này được đặt thành no . Vì  ta  đang chạy hệ điều hành sử dụng hệ thống systemd init,  ta  có thể thay đổi điều này thành systemd :
. . .  # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: #   supervised no      - no supervision interaction #   supervised upstart - signal upstart by putting Redis into SIGSTOP mode #   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET #   supervised auto    - detect upstart or systemd method based on #                        UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." #       They do not enable continuous liveness pings back to your supervisor. supervised systemd  . . . Tiếp theo, tìm dir . Tùy chọn này chỉ định folder  mà Redis sẽ sử dụng để kết xuất dữ liệu liên tục.  Ta  cần chọn một vị trí mà Redis sẽ có quyền viết và  user  bình thường không thể xem được.
  Ta  sẽ sử dụng folder  /var/lib/redis cho việc này, mà  ta  sẽ tạo trong giây lát:
. . .  # The working directory. # # The DB will be written inside this directory, with the filename specified # above using the 'dbfilename' configuration directive. # # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. dir /var/lib/redis  . . . Lưu file khi bạn hoàn tất.
Tạo một file đơn vị hệ thống Redis
Tiếp theo, ta có thể tạo một file đơn vị systemd để hệ thống init có thể quản lý quá trình Redis.
 Tạo và mở file  /etc/systemd/system/redis.service để bắt đầu:
- sudo nano /etc/systemd/system/redis.service 
Bên trong,  ta  có thể bắt đầu phần [Unit] bằng cách thêm mô tả và xác định yêu cầu mạng phải khả dụng trước khi bắt đầu dịch vụ này:
[Unit] Description=Redis In-Memory Data Store After=network.target Trong phần [Service] ,  ta  cần chỉ định hành vi của dịch vụ. Vì mục đích bảo mật,  ta  không nên chạy dịch vụ  của bạn  dưới dạng root .  Ta  nên sử dụng một  user  và  group  chuyên dụng, mà  ta  sẽ gọi là redis cho đơn giản.  Ta  sẽ tạo ra những thứ này trong giây lát.
 Để bắt đầu dịch vụ,  ta  chỉ cần gọi file  binary  redis-server , được chỉ vào cấu hình của  ta . Để ngăn chặn nó,  ta  có thể sử dụng lệnh shutdown Redis, lệnh này có thể được thực thi với mã binary  redis-cli . Ngoài ra, vì  ta  muốn Redis khôi phục các lỗi khi có thể,  ta  sẽ đặt lệnh Restart thành “luôn luôn”:
[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 Cuối cùng, trong phần [Install] ,  ta  có thể xác định mục tiêu systemd mà dịch vụ sẽ đính kèm nếu được bật (được  cấu hình  để  bắt đầu khi server khởi động ):
[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 Lưu file khi bạn hoàn tất.
Tạo User Redis, Group và Thư mục
Bây giờ, ta chỉ cần tạo user , group và folder mà ta đã tham chiếu trong hai file trước.
 Bắt đầu bằng cách tạo  user  và  group  redis . Điều này có thể được thực hiện trong một lệnh duy nhất  bằng lệnh :
- sudo adduser --system --group --no-create-home redis 
Bây giờ,  ta  có thể tạo folder  /var/lib/redis  bằng lệnh :
- sudo mkdir /var/lib/redis 
 Ta  nên cấp cho  user  redis và quyền sở hữu  group  đối với folder  này:
- sudo chown redis:redis /var/lib/redis 
Điều chỉnh các quyền để regular user không thể truy cập vị trí này:
- sudo chmod 770 /var/lib/redis 
Bắt đầu và kiểm tra Redis
Bây giờ, ta đã sẵn sàng khởi động server Redis.
Bắt đầu dịch vụ Redis
Khởi động dịch vụ systemd bằng lệnh :
- sudo systemctl start redis 
Kiểm tra xem dịch vụ không có lỗi nào bằng lệnh:
- sudo systemctl status redis 
Bạn sẽ thấy một cái gì đó giống như sau:
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         . . . Kiểm tra chức năng version Redis
Để kiểm tra xem dịch vụ của bạn có đang hoạt động chính xác hay không, hãy kết nối với server Redis bằng client dòng lệnh:
- redis-cli 
Trong dấu nhắc sau đó, hãy kiểm tra kết nối bằng lệnh :
- ping 
Bạn nên thấy:
OutputPONG Kiểm tra xem bạn có thể đặt các phím bằng lệnh :
- set test "It's working!" 
OutputOK Bây giờ, lấy giá trị bằng lệnh :
- get test 
Bạn có thể truy xuất giá trị mà ta đã lưu trữ:
Output"It's working!" Thoát khỏi dấu nhắc Redis để quay lại shell :
- exit 
Như một bài kiểm tra cuối cùng, hãy khởi động lại version Redis:
- sudo systemctl restart redis 
Bây giờ, hãy kết nối lại với khách hàng và xác nhận giá trị thử nghiệm của bạn vẫn có sẵn:
- redis-cli 
- get test 
Giá trị của khóa của bạn vẫn có thể truy cập được:
Output"It's working!" Quay lại shell khi bạn hoàn thành:
- exit 
Bật Redis để bắt đầu khi server khởi động
Nếu tất cả các thử nghiệm của bạn đều hoạt động và bạn muốn tự động khởi động Redis khi server của bạn khởi động, bạn có thể bật dịch vụ systemd.
Để làm như vậy, hãy nhập:
- sudo systemctl enable redis 
OutputCreated symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service. Kết luận
Đến đây bạn đã cài đặt và cấu hình version Redis trên server Ubuntu 16.04 của bạn . Để tìm hiểu thêm về cách bảo mật cài đặt Redis của bạn, hãy xem Cách bảo mật cài đặt Redis của bạn trên Ubuntu 14.04 (từ bước 3 trở đi). Mặc dù nó được viết với Ubuntu 14.04, nhưng nó hầu như cũng hoạt động cho 16.04.
Các tin liên quan
Cách di chuyển dữ liệu Redis với Master-Slave Replication trên Ubuntu 14.042016-05-05
Cách tìm log Redis trên Ubuntu
2016-03-01
Cách bảo mật cài đặt Redis của bạn trên Ubuntu 14.04
2015-09-25
Cách backup và khôi phục dữ liệu Redis của bạn trên Ubuntu 14.04
2015-09-14
Cách thiết lập server Redis làm Trình xử lý phiên cho PHP trên Ubuntu 14.04
2015-08-21
Cách cấu hình một cụm Redis trên CentOS 7
2015-07-30
Cách cấu hình cụm Redis trên Ubuntu 14.04
2015-07-16
Cách cấu hình bộ đệm Redis để tăng tốc WordPress trên Ubuntu 14.04
2014-12-15
Cách cấu hình giám sát Sensu, RabbitMQ và Redis trên Ubuntu 14.04
2014-09-29
 

