Hướng dẫn cài đặt Memcache trên Centos
Memcached là một hệ thống cache nổi tiếng tương tự như Redis nhưng dễ cài đặt và được nhiều plugin trên WordPress hỗ trợ hơn nên mình sẽ hướng dẫn các bạn cách cài đặt và sử dụng nó dễ dàng trên Centos.
Trong bài viết này mình sẽ hướng dẫn các bạn cách cài đặt cũng như tạo Memcached sử dụng cho nhiều website khác nhau.
Bạn đang xem: Hướng dẫn cài đặt Memcache trên Centos
Nội Dung
Cài đặt Memcached
Để cài đặt Memcached bạn chỉ cần chạy lệnh sau.
yum install memcached
Cấu hình Memcached
Mặc định MemCached để cấu hình tối thiểu, tuy nhiên nếu bạn có một server khủng có dung lượng ram khủng thì nên chỉnh lại để tối đa hoá sức mạnh của Memcached.
Xem thêm:
Các thông tin cần chú ý là CACHESIZE, MAXCONN, OPTIONS trong đó:
- CACHESIZE: là dung lượng Ram bạn có thể để dành cho Cache.
- MAXCONN: Số lượng kết nối tối đa vào Memcached.
- OPTIONS: Tuỳ chọn thêm, cấu hình. Tại đây bạn cần thêm
-l 127.0.0.1 -U 0
để bảo mật.
Để chỉnh sửa bạn chạy lệnh sau:
nano /etc/sysconfig/memcached
File cấu hình sẽ hiện ra như sau
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0"
Chỉnh sửa những phần mình bôi đỏ cho phù hợp với cấu hình VPS của bạn.
Khởi động Memcached
Sau khi cấu hình hoàn tất bạn cần enable Memcached lên bằng những lệnh sau:
Khởi động Memcached trên Centos 6
chkconfig memcached on service memcached start
Khởi động Memcached trên Centos 7
systemctl enable memcached systemctl start memcached
Để kiểm tra xem Memcached có hoạt động chưa bạn có thể sử dụng lệnh sau:
ss -lnp | grep memcached
Nếu kết quả trả về như này là bạn đã cài đặt thành công Memcached
tcp LISTEN 0 128 127.0.0.1:11211 *:* users:(("memcached",pid=15517,fd=26))
Theo dõi quản lý Memcached trên HocVPS Script
À lại HocVPS Script huyền thoại, mình hay sử dụng HocVPS vì nó không mã hoá gì dễ dàng tuỳ biến nâng cấp theo ý mình, vì vậy mình sẽ tiếp tục hướng dẫn các bạn cách quản lý theo dõi Memcached trên HocVPS Script.
Xem thêm : Cách cài đặt Java trên CentOS 8
Chạy liên tiếp các lệnh sau:
cd /home/{domain chính cài đặt HOCVPS}/private_html/
wget https://github.com/elijaa/phpmemcachedadmin/archive/1.3.0.tar.gz
tar -xvzf 1.3.0.tar.gz
mv phpmemcachedadmin-1.3.0 memcached && chmod -R 777 memcached && chown -R nginx:nginx memcached
rm -f 1.3.0.tar.gz
Tiếp tục truy cập file /home/hbh.vn/private_html/hocvps/templates/user/index.phtml
bằng lệnh sau:
nano /home/{domain chính cài đặt HOCVPS}/private_html/hocvps/templates/user/index.phtml
Thêm dòng này
<li>MemCached Management: <a href="<?php echo $admin_url; ?>/memcached/" target="_blank"><?php echo $admin_url; ?>/memcached</a></li>
Phía sau dòng
<li>PHP OPcache Management: <a href="<?php echo $admin_url; ?>/op.php" target="_blank"><?php echo $admin_url; ?>/op.php</a></li>
Lưu file lại truy cập vào HocVPS để xem kết quả, bạn có thể bấm vào link Memcached để xem mem đã hoạt động chưa.
Cài đặt Memcache và Memcached PHP Module
Để Memcached có thể hoạt động bạn cần cài đặt Memcache và Memcached PHP Module. Tuỳ theo phiên bản php đang chạy bạn chọn lệnh sau cho phù hợp, hoặc có thể thực hiện bước nâng cấp php 7.4 để có trải nghiệm tốt hơn.
Kiểm tra phiên bản php
php -v
Chọn lệnh cài đặt.
PHP 7.4
yum --enablerepo=remi,remi-php74 install php-pecl-memcached php-pecl-memcache
PHP 7.3
yum --enablerepo=remi,remi-php73 install php-pecl-memcached php-pecl-memcache
PHP 7.1
yum --enablerepo=remi,remi-php71 install php-pecl-memcached php-pecl-memcache
Khởi động lại PHP và Web Server
Trên Centos 6
service php-fpm restart service nginx restart
Centos 7
systemctl restart php-fpm systemctl restart nginx
Như vậy bạn đã cài đặt xong Memcache và có thể sử dụng các plugin như Swift Performance, WP Total Cache để sử dụng nhé.
Sử dụng Memcache cho nhiều website
Xem thêm : Cách cài đặt – deploy project Node.js lên Vultr VPS
Một vấn đề mình gặp phải khi sử dụng Memcache trên HocVPS Script nếu trên Server mình có 2 website A và B. Trong trường hợp website A bật Memcache lên trước sau đó website B cũng bật lên thì B sẽ lấy luôn cache của A làm cache cho mình nói cách dễ hiểu hơn là bạn vào website B nó sẽ ra website A nhưng không đổi URL :)), phải nói là trời đậu.
Mình có đi tìm hiểu có cách nào để tách ra không ví dụ như key phân biệt nhưng không có, và cách cuối cùng là mình tách Memcache ra riêng từng website, mình tạo hẳn 1 Memcache cho Website B.
Bắt đầu nhé, chạy lệnh sau:
nano /etc/sysconfig/memcached2
Copy phần nội dung sau paste vào, lưu ý rằng bạn cần chỉnh PORT khác với PORT các Memcache bạn đã tạo, ở đây mình chọn số 11212. Và đừng quên chỉnh MAXCONN, CACHESIZE phù hợp với site, với server của bạn nhé.
PORT="11212" USER="memcached" MAXCONN="2048" CACHESIZE="512" OPTIONS="-l 127.0.0.1"
Chạy tiếp lệnh sau
nano /etc/systemd/system/memcached2.service
Copy nội dung sau Paste vào
[Unit] Description=Memcached2 Before=httpd.service After=network.target [Service] Type=simple EnvironmentFile=-/etc/sysconfig/memcached2 ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS [Install] WantedBy=multi-user.target
Lưu file lại, chạy các lệnh sau để bật lên.
Trên Centos 6
chkconfig memcached2 on service memcached2 start
Trên Centos 7
systemctl start memcached2.service systemctl enable memcached2.service
Để kiểm tra xem 2 Memcache đã chạy chưa bạn chạy lệnh sau:
ss -lnp | grep memcached
Kết quả trả về như này là thành công rồi nhé
tcp LISTEN 0 128 127.0.0.1:11211 *:* users:(("memcached",pid=15517,fd=26)) tcp LISTEN 0 128 127.0.0.1:11212 *:* users:(("memcached",pid=15434,fd=26))
Để quản lý Memcached thứ 2 trong PHPMemcachedAdmin bạn truy cập vào chọn Edit Configuration
Thêm cấu hình như sau
Như vậy bạn đã có thể sử dụng Memcached rồi, bạn có thể sử dụng 2 memcached rồi nhé nhớ cấu hình trong config của plugin cache cho đúng port không lại xài trùng nhen ^^
Cảm ơn các bạn đã có thời gian ghé thăm ủng hộ blog xàm của mình 🙂
Nguồn: https://25giay.vn
Danh mục: VPS - Hosting
dùng DA thì không cần theo bài này anh nhỉ
Tham khảo thôi, cài da a có hướng dẫn rồi đó + với FB a bị block rồi thấy tin nhắn của em mà không đọc được :))
Cái này có nhất thiết phải cài không ad ơi??
Cần nhé bạn, tăng tốc độ website, tối ưu giảm tải cho CPU
e thường xuyên bị full, mà đổi CACHESIZE=”64″ lên 256 không được. có 1 sv đổi được, 2 sv đổi mãi không dc
em restart memcached khi cấu hình lại chưa
dạ rồi a, kiểm tra thì thấy memcache cũng hoạt động rồi. vô kiểm tra lệnh nano thì thấy đã là đã sửa 256.. mà vô op.php vẫn là 128 @@
Tại sao lại vô op ta?
e vô domain:port/op xem chớ k có cài trình quản lý Memcached … mấy cái kia e thay đổi vô Op xem thấy có đổi á a.. mà sv này lại k dc
Op chỉ xem opcache thôi, xem mem thì cài phpmemcache vào
Mình bị lỗi này khi cài xong, giờ thì web mất cả section, ko lưu được cái gì cả. Bạn xem giúp lỗi ở link website. xem thông tin php của mình. https://monngon7.com/phpinfo.php
Bạn disable plugin restropres nhé
Chào admin. Mình đang sử dụng vps gói 6$ của vultr. Mình có cài vpssim và ram mình chỉ có 1gb. Hiện tại memcached của mình đang chỉnh là 256mb web online 400 người full cache rất nhanh. Vậy ram 1gb mình nâng lên 512mb cache được không. Hoặc nâng cấp vps lên gói 12$ để nhận 2gb ram.
Nếu như mình sử dụng gói 2gb ram thic chỉnh thông số memcached bao nhiêu là phù họp. U
Bạn cần cài PHP Memcached để quản lý xem nó xài hết bao nhiêu nhé.
Mình có cài php memcached rồi. Nhưng không hiểu cái phần 1 ngày nó sử dụng bao nhiêu cache. Còn mình cài 256m thì nó full hết luôn.
Chào Bai, bạn cho mình xem cấu hình memcached và dasdboash của PHPMemcached nhé
Cái chỗ “Sử dụng Memcache cho nhiều website” mình chưa từng gặp lỗi như bạn nói vậy theo bạn có nên làm theo bạn hướng dẫn để tách riêng nó ra không nhỉ?
Có thể bạn chưa kết nối thành công cache website tới memcached nên vậy nhé, bạn cài đặt PHPmemcached để quản lý xem thực sự đã xài đến mem chưa
Nó báo như này này bạn. Mình chạy 5 web trên 1 VPS. Tại mới đổi nhà cung cấp VPS nên cài lại đọc được bài của bạn.
https://prnt.sc/sfqqb0
Sao thấy use ít vậy nhỉ :d
Trước dùng thằng DigitalOcean thấy nó dùng lần gần 1gb giờ chuyển sang thằng Upcloud thấy nó có vậy. :v Chẳng hiểu sao :v
Bác cho mình xin link test speed của nó được không ????
Trong khi đó giờ thằng OP set cho nó gần nửa GB mà nó dùng hết 100%. Trước bên DigitalOcean set có 128mb nó dùng có 50%. G
Mình làm theo bài hướng dẫn tách memcached ra cho từng site. Mà khi kiểm tra cái số memcached2 nó chưa có site nào dùng. Trên plugin set chỗ nào bạn nhỉ :)? Cám ơn bạn!
Thay đổi port nhé bạn, port mặc định trên plugin 11211 bạn đổi thành port mới