Cài đặt và cấu hình memcached với vBulletin trên CentoS - Phan II

hungp

Whi-----
27/12/2014
49
72 bài viết
Cài đặt và cấu hình memcached với vBulletin trên CentoS - Phan II
Trong phần I mình đã giới thiệu cách cài đặt memcached lên CentOS. Vậy trong phần này mình sẽ hướng dẫn cách kiểm tra xem memcached đã hoạt động chưa và cách cấu hình với vBulletin.

Chúng ta sẽ kiểm tra hoạt động của memcached qua 2 phần test. Phần 1 ta sẽ test phần cache dữ liệu, phần 2 ta sẽ test việc cache dữ liệu từ database mysql.

Phần 1
Tạo một tập tin cache_test.php trong mục /var/www/html :
Vi /var/www/html/cache_test.php

Chép đoạn code này vào file đấy:/var


Trong lần đầu tiên tải trang này ta thấy sẽ thấy một thông báo “ No matching key found “
Sau đó ta tải lại trang, nếu memcached hoạt động thì nó sẽ hiện thông báo “Data held in memcache”.

Phần 2

Tạo dữ liệu mẫu trong MySQL để test.

Kết nối tới csdl :

mysql -u root -p
Chọn cơ sở dữ liệu

CREATE DATABASE mem_test;
USE mem_test;
Tạo một người dùng là testing với một mậu khẩu testing123 có quyền truy cập vào csdl.


GRANT ALL ON mem_test.* TO test@localhost IDENTIFIED BY 'testing123';
Bây giờ ta sẽ tạo một bảng và chèn một bản ghi vào đấy.

CREATE TABLE sample_data (id int, name varchar(30));
INSERT INTO sample_data VALUES (1, "some_data");

Bây giờ thoát khỏi cơ sở dữ liệu:

exit
Tạo một đoạn PHP Script để cache dữ liệu MySQL
Tao một file scriptndatabase_test.php để test.

Vi /var/www/html/database_test.php

Và copy đoạn script sau vào:



Bây giờ ta chạy nó. Trong lần đầu request thì sẽ hiện ra dòng:

Data was: some_data
Data not found in memcached
Data retrieved from MySQL and stored in memcached for next time
Nếu ta làm mới trong vòng 10s thì nó sẽ hiện thông báo sau (Nếu quá 10s thì nó sẽ lại hiển thị thông báo như ban đầu).

Data was: some_data
Caching success
Retrieved data from memcacehed
Vậy là đã hoàn thành việc test memached.

Cấu hình với vBulletin
Mở file config.php trong thư mục forum, ví dụ như:
cd/var/www/www.example.com/web/forums/includes/
vi config.php

Bạn sẽ thấy mấy dòng như thế này:

[...]
/ *
$ Config ['Datastore'] ['class'] = 'vB_Datastore_Memcached';
$ I = 0;
// Server Đầu tiên
$ I ++;
$ Config ['Misc'] ['memcacheserver'] [$ i] = '127.0.0.1';
$ Config ['Misc'] ['memcacheport'] [$ i] = 11211;
$ Config ['Misc'] ['memcachepersistent'] [$ i] = true;
$ Config ['Misc'] ['memcacheweight'] [$ i] = 1;
$ Config ['Misc'] ['memcachetimeout'] [$ i] = 1;
$ Config ['Misc'] ['memcacheretry_interval'] [$ i] = 15;
* /
[...]


Các /*…..*/ có nghĩa là phần này đã được comment lại. Hủy bỏ 2 dấu đấy đi và lưa tập tin lại.

[...]

$ Config ['Datastore'] ['class'] = 'vB_Datastore_Memcached';
$ I = 0;
// Server Đầu tiên
$ I ++;
$ Config ['Misc'] ['memcacheserver'] [$ i] = '127.0.0.1';
$ Config ['Misc'] ['memcacheport'] [$ i] = 11211;
$ Config ['Misc'] ['memcachepersistent'] [$ i] = true;
$ Config ['Misc'] ['memcacheweight'] [$ i] = 1;
$ Config ['Misc'] ['memcachetimeout'] [$ i] = 1;
$ Config ['Misc'] ['memcacheretry_interval'] [$ i] = 15;

[...]


Bây giờ ta khởi động lại dịch vụ.

#servce httpd resart

Hoặc

#/etc/init.d/apache2 restart
Chúc các bạn thành công cho việc cấu hình memcached.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên