HƯỚNG DẪN CÀI MEMCACHED TRÊN SERVER LINUX (CENTOS 5)

Memcached là 1 trình tạo bộ đệm hiệu suất cao, chủ yếu được sử dụng để tăng tốc độ các trang web sử dụng cơ sở dữ liệu. Tuy nhiên, memcached có thể được sử dụng để lưu trữ tất cả các đối tượng khác.

Gần như tất cả CMS phổ biến đều có một plugin hoặc mô-đun để tận dụng lợi thế của nó, và nhiều ngôn ngữ lập trình có một thư viện memcached, bao gồm PHP, Perl, Ruby và Python. 
Memcached chạy trong bộ nhớ và không cần phải ghi vào đĩa cứng, vì vậy nó truy xuất vô cùng nhanh. 
(vBulletin cũng hỗ trợ memcached, các bạn có thể cấu hình sử dụng trong file includes/config.php )

Hiện nay, chúng ta có thể điểm qua 1 số website lớn đang dùng memcached là youtube.com, facebook.com...


Hôm nay mình sẽ hướng dẫn các bạn cài memcached trên CentOS 5.

Đầu tiên bạn phải cài libevent; Phiên bản tổi thiểu có thể cài là1.1. Bạn có thể cài dễ dàng bằng lệnh yum.
Code:
yum install libevent libevent-devel
Sau đó, bạn vào thư mục /usr/local/src và down về mã nguồn memcached:
Code:
cd /usr/local/src
wget http://memcached.googlecode.com/files/memcached-1.4.1.tar.gz
Giải nèn file vừa down về rồi vào thư mục vừa giải nén:
Code:
tar xvzf memcached-1.4.1.tar.gz
cd memcached-1.4.1
Memcached vẫn được phát triển. Vào thời điểm này, 1.4.1 là phiên bản mới nhất được đánh giá là ổn định. Bạn có thể vào link sau:
http://code.google.com/p/memcached/downloads/list để xem có phiên bản ổn định mới hơn hay không.

Tiếp theo, chúng ta sẽ cấu hình tiền biên dịch bằng lệnh sau:
Code:
./configure
Nếu server bạn đang chạy hệ điều hành 64bit, bạn có thể bật cờ sau để memcached cấu hình với máy 64bit giúp cải thiện hiệu suất tối đa với hệ thống 64bit:
Code:
./configure --enable-64bit
Nếu CPU server đang sử dụng có nhiều nhân(Core) bạn có thể bật cờ sau để tận dụng tối đa hiệu suất các CPU cho memcached:
Code:
./configure --enable-threads
Bạn có thể gộp chung 2 lệnh trên thành 1 lệnh như sau nếu server của bạn có cả 2 yếu tố trên:
Code:
./configure --enable-threads --enable-64bit
Sau khi quá trình cấu hình hoàn tất,chúng ta có thể biên dịch mã nguồn và cài đặt bằng lệnh sau:
Code:
make && make install
Cuối cùng, chúng ta có thể bắt đầu start memcached server bằng lệnh sau:
Code:
memcached -d -u nobody -m 512 -p 11111 127.0.0.1
Cấu trúc lệnh như sau:
Code:
memcached -d -u [user] -m [memory size] -p [port][listening IP]
Dưới đây là ý nghĩa các tham số:
-d
Muốn nói rằng memcached sẽ chạy dưới dạng 1 deamon service(Dịch vụ nền)
-u
Chỉ ra rằng user nào sẽ đc memcached dùng để truy xuất vào hệ thống
-m
Thiếtlập kích thước bộ nhớ memcached sẽ sử dụng
-p
Cổng (Port) mà mamcached sẽ dùng để lắng nghe.


Lưu ý:
- Nếu server bạn đang chạy 1 số dịch vụ khác như apache,nginx ... thì sau khi khởi động memcached thì bạn hãy restart lại các dịch vụ này luôn
- Nếu bạn muốn ngưng memcached thì có thể dùng cách sau:
Code:
ps -A|grep memcached
Bạn sẽ thấy kết quả dạng như sau:
Code:
7034 ?        00:00:00 memcached
7035 ?        00:00:00 memcached
Đây là sanh sách các tiến trình của memcached, chúng ta sẽ kill chúng bằng lệnh sau
Code:
kill 7034
kill 7035
Sau khi kill hết, ta có thể start lại memcached bằng lệnh
Code:
memcached -d -u nobody -m 512 -p 11211 127.0.0.1
- Muốn kiểm tra memcached đã chạy chưa thì ta có thể dùng lệnh
Code:
ps -A|grep memcached
Nếu xuất hiện danh sách tiến trình của memcached tức là memcached đã chạy


Chúc các bạn thành công !
  #2  
Cũ 15-12-2011, 05:56 PM
hieponline21's Avatar
Thành Viên SVIT
Tên Thật: le van hiep
Giới tính: Nam
Tham gia ngày: 10-08-2011
Tuổi: 22
Bài gửi: 496
Cám ơn: 150
Được cám ơn: 62 Lần trong 42 Bài viết
cảm ơn anh lai,kiếm đâu ra cái vps test thử nhỉ..



Chào mừng bạn đến với Diễn đàn dành cho con em Thanh Chương Nghệ An |Teen Nghệ An | Người Xứ Nghệ | Teen Nghệ Tĩnh |Kết Nối | Chia Sẻ | Tài Liệu | Hương Dẫn | Ebook | Phim Hay | Nhac Hay | Xứ Nghệ | Quê Hương | Đồng Hương |.
       Trả Lời Với Trích Dẫn
  #3  
Cũ 16-12-2011, 10:18 PM
Chao's Avatar
Thành Viên SVIT
Tên Thật: a
Giới tính: Nam
Tham gia ngày: 27-11-2011
Tuổi: 21
Bài gửi: 64
Cám ơn: 1
Được cám ơn: 10 Lần trong 7 Bài viết
anh lai biết cài thằng này với litespeed ko anh 




       Trả Lời Với Trích Dẫn
  #4  
Cũ 16-12-2011, 10:23 PM
Vũ Thanh Lai's Avatar
Đầy tớ Nhân Dân
Tên Thật: Vũ Thanh Lai
Giới tính: Nam
Tham gia ngày: 29-09-2007
Tuổi: 21
Bài gửi: 20,148
Cám ơn: 1,487
Được cám ơn: 24,530 Lần trong 8,612 Bài viết

Trích Nguyên văn bởi Chao Xem bài viết

anh lai biết cài thằng này với litespeed ko anh 

Cái này không liên quan gì với litespeed cả nên cứ cài bình thường.
VD: Firefox với Yahoo message, cái nào cái ao cũng chả ảnh hưởng đến cái kia



       Trả Lời Với Trích Dẫn
  #5  
Cũ 17-12-2011, 01:25 PM
Chao's Avatar
Thành Viên SVIT
Tên Thật: a
Giới tính: Nam
Tham gia ngày: 27-11-2011
Tuổi: 21
Bài gửi: 64
Cám ơn: 1
Được cám ơn: 10 Lần trong 7 Bài viết
Nhưng theo em đọc được là memcached phải được compile với PHP thì nó mới hoạt động.




       Trả Lời Với Trích Dẫn
  #6  
Cũ 17-12-2011, 01:50 PM
Vũ Thanh Lai's Avatar
Đầy tớ Nhân Dân
Tên Thật: Vũ Thanh Lai
Giới tính: Nam
Tham gia ngày: 29-09-2007
Tuổi: 21
Bài gửi: 20,148
Cám ơn: 1,487
Được cám ơn: 24,530 Lần trong 8,612 Bài viết

Trích Nguyên văn bởi Chao Xem bài viết

Nhưng theo em đọc được là memcached phải được compile với PHP thì nó mới hoạt động.

Chắc Ko ai nói đâu, mà do bạn hiểu sai vấn đề mà thôi.

Như mình đã đề cập trong bài viết, 1 số ngôn ngữ có cả thư viện về memcached như: php, python,ruby. Khi bạn code php bạn muốn sử dụng đc memcached thì bạn phải cài thư viện memcached kèm theo PHP.

Giống như thế này, mysql là 1 hệ quản trị CSDL, bạn muốn dùng đc mysql thì khi cài php bạn phải cài kèm module mysql. Không thì bạn sẽ ko dùng đc. Bản chất mysql có thể cài ở 1 server khác và bạn có thể connect đến nó. Nhưng như đã nói, khi dùng php mà bạn muốn dùng mysql thì bạn phải cài module mysql cho php. Memcached cũng vậy, bản chất nó có thể đc cài ở 1 server khác để lưu cached, nhưng ở đây do ko có nhiều server như facebook, google nên mình hướng dẫn cài luôn trên server chạy web.

Bạn đã thấy đc sự độc lập chưa ? Nếu bạn ko cài memcached trên server chạy web cũng chả sao, thì chẳng có lý do gì nó ảnh hưởng tới cái litespeed cả.

Bạn cũng cần phải phân biệt litespeed hay apache cũng chả liên quan gì tới php cả. Chẳng qua 2 cái này là web server, muốn nó biên dịch đc php thì phải cài php trên máy chạy web server và cài module php cho litespeed hoặc apache để nó làm việc đc với php