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