Chuyển đến nội dung chính

Hướng dẫn cài đặt Redis Centos 7


Redis là hệ thống caching lưu trữ dữ liệu trong RAM tương tự như Memcached. Không chỉ hỗ trợ cache dạng keys/values tốt như Memcached mà Redis còn hỗ trợ nhiều cấu trúc dữ liệu khác như hash, list, set, sorted set, string.
redis
Redis hỗ trợ đầy đủ các chức năng tương tự Memcached nhưng có thao tác lấy và nạp dữ liệu rất nhanh chóng, hơn hẳn memcached.
Trong bài viết này, mình sẽ hướng dẫn các bạn cài đặt Redis trên CentOS, đồng thời hướng dẫn cấu hình cho Redis hoạt động được trên WordPress và Magento.
Nội dung bài viết
1. Hướng dẫn cài đặt Redis
2. Kiểm tra lại quá trình cài đặt Redis
3. PHPRedMin – Quản lý và theo dõi Redis
4. Sử dụng Redis với WordPress và Magento

1. Hướng dẫn cài đặt Redis

Để Redis có thể làm việc được với Magento, chúng ta sẽ cần cài đặt Redis server cùng với extension PhpRedis để PHP có thể kết nối được với Redis.
– Thêm repo epel, remi
## CentOS 7 ##
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

## CentOS 6 ##
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
– Cài đặt Redis và PhpRedis extension
## PHP 7.1 ##
yum --enablerepo=remi,remi-php71 install redis php-pecl-redis
service php-fpm restart

## PHP 7.0 ##
yum --enablerepo=remi,remi-php70 install redis php-pecl-redis
service php-fpm restart

## PHP 5.6 ##
yum --enablerepo=remi,remi-php56 install redis php-pecl-redis
service php-fpm restart

## PHP 5.5 ##
yum --enablerepo=remi,remi-php55 install redis php-pecl-redis
service php-fpm restart
– Chạy Redis và tự động khởi động khi boot
chkconfig redis on
service redis start

2. Kiểm tra lại quá trình cài đặt Redis

– Check lại Redis server
redis-cli ping
Nếu kết quả về PONG là ok
– Check lại PhpRedis extension
php -m | grep redis
Kết quả trả về redis là ok
– Redis shell tools
Mặc định Redis cài đặt với một công cụ comment là redis-cli
Sau khi khởi động Redis, các bạn có thể sử dụng một số command như:
  • FLUSHALL – clear all databases
  • SELECT # – select database under index #
  • FLUSHDB – empty currently selected database
  • KEYS * – list all keys from currently selected
Xem danh sách đầy đủ command ở đây.

3. PHPRedMin – Quản lý và theo dõi Redis

Sau khi cài xong, bạn có thể sử dụng PHPRedMin để quản lý Redis với giao diện web trực quan ngay. Tải về tại PHPRedMin Github.
Giải nén xong, bạn đổi tên thư mục phpredmin-master thành phpredmin rồi up lên server. Truy cập vào giao diện quản lý sử dụng link: domain/phpredmin/public/
Thông tin đăng nhập username/password mặc định là admin/admin. Để chỉnh sửa bạn mở file /phpredmin/config.dist.php lên và sửa tương ứng ở đoạn auth
'auth' => array(
  'username' => 'admin',
  'password' => password_hash('admin', PASSWORD_DEFAULT)
),
PHPRedMin sử dụng rewrite, nên bạn cần cấu hình lại rule thì mới hoạt động được.
– Với Apache:
Alias /phpredmin /var/www/phpredmin/public

<Directory /var/www/phpredmin/>
   AllowOverride All

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip localhost
       Require local
     </RequireAny>
   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>
– Với Nginx:
location /phpredmin/public/ {
   try_files $uri $uri/ /phpredmin/public/index.php;
}
Lưu ý: Trong trường hợp bạn để PHPRedMin trong thư mục private_html để truy cập qua HocVPS Admin(link domain:port/phpredmin/public/) thì bắt buộc phải bỏ đăng nhập của PHPRedMin, kẻo conflict với hệ thống.
Cài đặt xong bạn phải chạy phân quyền webserver (hocvps menu 14) để PHPRedMin ghi được file log, đồng thời restart Nginx và PHP-FPM.

Nhận xét

Bài đăng phổ biến từ blog này

Tổng quan Multi tenancy

Multi tenant là gì ? Multi-Tenant - Multi-tenancy có nghĩa là một phiên bản duy nhất của phần mềm và cơ sở hạ tầng hỗ trợ của nó phục vụ nhiều khách hàng. Mỗi khách hàng chia sẻ ứng dụng phần mềm và cũng chia sẻ một cơ sở dữ liệu. Dữ liệu của mỗi người khách hàng bị cô lập và vẫn vô hình đối với những khách hàng khác. Lợi ích của Multi tenant Chi phí thấp hơn thông qua tính kinh tế theo quy mô: Với nhiều khách hàng, nhân rộng có ý nghĩa cơ sở hạ tầng ít hơn nhiều so với giải pháp lưu trữ vì khách hàng mới có quyền truy cập vào cùng một phần mềm cơ bản. Hơn nữa, người dùng không cần bận tâm về việc cập nhật các tính năng và cập nhật mới, họ cũng không cần phải trả phí bảo trì hoặc chi phí khổng lồ. Các bản cập nhật là một phần của đăng ký hoặc, nếu phải trả bất kỳ khoản phí bảo trì nào, nó được chia sẻ bởi nhiều người thuê, do đó làm cho nó trở thành danh nghĩa (nhân tiện, bao gồm các bản cập nhật). Kiến trúc Multi tenant phục vụ hiệu quả tất cả mọi người từ các khách hàng

Multi tenant là gì ?

Bài toán hướng multi-tenancy trong thực tế gặp rất nhiều, nhưng có rất nhiều developer chưa nắm được khái niệm và cách thức hoạt động của các hệ thống thiết kế theo hướng này. Qua một thời gian nghiên cứu và phát triển các hệ thống, mình đúc rút một số kinh nghiệm muốn chia sẻ cho mọi người. Thực tế ta bắt gặp rất nhiều hệ thống sử dụng multi-tenacy vd: - Hệ thống quản lý cửa hàng cho phép nhiều đại lý có thể truy cập với những tài khoản độc lập, dữ liệu độc lập, nhưng cùng chung 1 hệ thống site. - Hệ thống quản lý công văn sử dụng trong tổng công ty và nhiều công ty con, cùng site nhưng dữ liệu độc lập. - Hệ thống quản lý dự án Jira - Hệ thống CRM của zoho, saleforce... Nhiều hệ thống sử dụng SQL server, Oracle ... thiết kế hệ thống multi-tenancy theo một trong các kiến trúc sau. Phương án I . Cùng chung một cơ sở dữ liệu (database), chia sẻ bảng (table) Tất cả các bảng liên quan đều có 1 khóa ngoại là ShopId. Dữ liệu sản phẩm của từng shop đều được lưu chung trong bả

THIẾT KẾ DATABASE THEO HƯỚNG MULTI-TENANCY

Phương án I. Cùng chung một cơ sở dữ liệu (database), chia sẻ bảng (table) Ví dụ: Một hệ thống quản lý cửa hàng, có bảng shop, bảng sản phẩm (product), bảng acccount Bảng shop Shop ( Id, Name, Notes) Bảng user User( Id, Name, UserName, Password, ShopId ) Bảng product Product ( Id int, Code varchar(50), Name varchar(255), ShopId) Tất cả các bảng liên quan đều có 1 khóa ngoại là ShopId. Dữ liệu sản phẩm của từng shop đều được lưu chung trong bảng Product, nhưng được phân biệt nhau bởi trường ShopId. Điểm mạnh: - Thiết kế lưu trữ đơn giản. - Dễ cho việc phát triển. - Không gặp phải vấn đề đồng bộ cấu trúc bảng trong quá trình phát triền. Nhược điểm: - Không độc lập database nên việc một shop có thể xem dữ liệu của shop khác nếu có quyền truy cập SQL, phân quyền trên SQL thực sự là vấn đề lớn. - Vấn đề backup, restore dữ liệu cho từng shop là gần như không thể, chỉ có thể backup cho tất cả. - Vấn đề phát sinh thực sự phức tạp khi dữ liệu phình