{"id":2194,"date":"2019-09-23T20:46:29","date_gmt":"2019-09-23T13:46:29","guid":{"rendered":"https:\/\/tino.vn\/?post_type=ht_kb&#038;p=2194"},"modified":"2019-09-23T20:46:29","modified_gmt":"2019-09-23T13:46:29","slug":"huong-dan-cai-memcached-cho-direct-admin","status":"publish","type":"ht_kb","link":"https:\/\/tino.vn\/blog\/docs\/huong-dan-cai-memcached-cho-direct-admin\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn c\u00e0i Memcached cho Direct Admin."},"content":{"rendered":"<p>Hi\u1ec7n t\u1ea1i th\u00ec Memcached module h\u1ed7 tr\u1ee3 2 Version v\u00e0 m\u1ed7i version n\u00e0y s\u1ebd h\u1ed7 tr\u1ee3 cho c\u00e1c lo\u1ea1i phi\u00ean b\u1ea3n PHP kh\u00e1c nhau nh\u01b0 sau :<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">php-memcached 3.x:\r\n- Supports PHP 7.0 - 7.1.\r\n- Requires libmemcached 1.x or higher.\r\n- Optionally supports igbinary 2.0 or higher.\r\n- Optionally supports msgpack 2.0 or higher.<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">php-memcached 2.x:\r\n- Supports PHP 5.2 - 5.6.\r\n- Requires libmemcached 0.44 or higher.\r\n- Optionally supports igbinary 1.0 or higher.\r\n- Optionally supports msgpack 0.5 or higher.<\/pre>\n<p>Cho n\u00ean \u0111\u1ec3 h\u1ed7 tr\u1ee3 cho PHP 7 th\u00ec b\u1ea1n ph\u1ea3i c\u00e0i Memcached 3 v\u00e0 ng\u01b0\u1ee3c l\u1ea1i, \u0111i\u1ec1u ki\u1ec7n c\u1ea7n n\u1eefa l\u00e0 b\u1ea1n ph\u1ea3i c\u00f3 b\u1ed9 th\u01b0 vi\u1ec7n cho Memcached l\u00e0 <strong>libmemcached<\/strong>.<\/p>\n<p>B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e0i tr\u00ean Memcached Version 3.<\/p>\n<h2 id=\"B\u01b0\u1edbc_1:_Download_memcached_module_v\u00e0_libmemcached_\u1edf_c\u00e1c_link_sau:\">B\u01b0\u1edbc 1: Download memcached module v\u00e0 libmemcached \u1edf c\u00e1c link sau:<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">memcached download: https:\/\/pecl.php.net\/package\/memcached\r\nlibmemcached download: https:\/\/launchpad.net\/libmemcached\/+download\r\nwget https:\/\/launchpad.net\/libmemcached\/1.0\/1.0.18\/+download\/libmemcached-1.0.18.tar.gz\r\nwget https:\/\/pecl.php.net\/get\/memcached-3.0.4.tgz<\/pre>\n<h2 id=\"B\u01b0\u1edbc_2:_C\u00e0i_\u0111\u1eb7t_Libmemcached\">B\u01b0\u1edbc 2: C\u00e0i \u0111\u1eb7t Libmemcached<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">gunzip libmemcached-1.0.18.tar.gz\r\ntar -xvf libmemcached-1.0.18.tar\r\ncd libmemcached-1.0.18\r\n.\/configure\r\nmake &amp;&amp; make install<\/pre>\n<h2 id=\"B\u01b0\u1edbc_3:_C\u00e0i_\u0111\u1eb7t_Memcached_module\">B\u01b0\u1edbc 3: C\u00e0i \u0111\u1eb7t Memcached module<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">tar -xvzf memcached-3.0.4.tgz\r\ncd memcached-3.0.4\r\nphpize\r\n.\/configure\r\nmake &amp;&amp; make install<\/pre>\n<p>Sau khi c\u00e0i \u0111\u1eb7t xong b\u1ea1n s\u1ebd th\u1ea5y th\u00f4ng b\u00e1o c\u00f3 \u0111\u00ednh k\u00e8m li\u00ean k\u1ebft \u0111\u1ebfn th\u01b0 m\u1ee5c ch\u01b0a file c\u1ee7a memcached module d\u1ea1ng nh\u01b0 sau:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Installing shared extensions: \/usr\/local\/lib\/php\/extensions\/no-debug-non-zts-20160303\/<\/pre>\n<h2 id=\"B\u01b0\u1edbc_4:_C\u1ea5u_h\u00ecnh_cho_PHP_nh\u1eadn_c\u1ea5u_h\u00ecnh_c\u1ee7a_memcached_module\">B\u01b0\u1edbc 4: C\u1ea5u h\u00ecnh cho PHP nh\u1eadn c\u1ea5u h\u00ecnh c\u1ee7a memcached module<\/h2>\n<p>C\u00e1c b\u1ea1n s\u1eed d\u1ee5ng l\u1ec7nh sau \u0111\u1ec3 t\u00ecm file php.ini<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">php -i | grep \"php.ini\"<\/pre>\n<p>Ti\u1ebfp \u0111\u1ebfn m\u1edf file php.ini ra v\u00e0 th\u00eam v\u00e0o cu\u1ed1i file \u0111o\u1ea1n ch\u1ec9 th\u1ecb sau:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">extension = \"\/usr\/local\/lib\/php\/extensions\/no-debug-non-zts-20160303\/memcached.so\"<\/pre>\n<p>L\u01b0u l\u1ea1i v\u00e0 kh\u1edfi \u0111\u1ed9ng l\u1ea1i apache b\u1eb1ng l\u1ec7nh sau:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">\/etc\/init.d\/httpd restart<\/pre>\n<p>b\u00e2y gi\u1edd b\u1ea1n ki\u1ec3m tra b\u1eb1ng c\u00e1ch d\u00f9ng l\u1ec7nh:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">php -m | grep memcached<\/pre>\n<div>N\u1ebfu xu\u1ea5t hi\u1ec7n d\u00f2ng ch\u1eef\u00a0memcached\u00a0th\u00ec xin ch\u00fac m\u1eebng, b\u1ea1n \u0111\u00e3 th\u00e0nh c\u00f4ng trong vi\u1ec7c\u00a0compile memcached module\u00a0r\u1ed3i \u0111\u1ea5y.<\/div>\n<h2 id=\"B\u01b0\u1edbc_5:_C\u00e0i_ti\u1ebfp_memcached_service\">B\u01b0\u1edbc 5: C\u00e0i ti\u1ebfp memcached service<\/h2>\n<div>memcached service listen tr\u00ean port 11211, c\u00f3 2 c\u00e1ch \u0111\u1ec3 c\u00e0i \u0111\u1eb7t n\u00f3 v\u00e0 \u1edf \u0111\u00e2y m\u00ecnh d\u00f9ng yum c\u00e0i cho d\u1ec5<\/div>\n<div>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">yum install memcached -y\r\n\/etc\/init.d\/memcached start\r\nchkconfig memcached on<\/pre>\n<p>ki\u1ec3m tra l\u1ea1i xem memcached service \u0111\u00e3 ho\u1ea1t \u0111\u1ed9ng hay ch\u01b0a b\u1eb1ng l\u1ec7nh sau:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">netstat -nltp | grep 11211<\/pre>\n<div>n\u1ebfu th\u1ea5y c\u00f3 k\u1ebft n\u1ed1i tcp tr\u1ea3 v\u1ec1 vi\u1ec7c \u0111\u00e3 l\u1eafng nghe tr\u00ean port n\u00e0y l\u00e0 th\u00e0nh c\u00f4ng r\u00f9i \u0111\u00f3.<\/div>\n<div>B\u00e2y gi\u1edd n\u1ebfu m\u00e3 ngu\u1ed3n l\u00e0 wordpress b\u1ea1n c\u00f3 th\u1ec3 t\u1ea3i plugin w3 total cache v\u1ec1 \u0111\u1ec3 k\u1ebft h\u1ee3p c\u00f9ng c\u00e1c method memcached s\u1ebd th\u1ea5y c\u1ea3i thi\u1ec7n t\u1ed1c \u0111\u1ed9 load trang \u0111\u00e1ng k\u1ec3.<\/div>\n<h2 id=\"B\u01b0\u1edbc_6:_Ki\u1ec3m_tra_memcached_c\u00f3_l\u00e0m_vi\u1ec7c_kh\u00f4ng\">B\u01b0\u1edbc 6: Ki\u1ec3m tra memcached c\u00f3 l\u00e0m vi\u1ec7c kh\u00f4ng<\/h2>\n<h3 id=\"C\u00e1ch_1:\">C\u00e1ch 1:<\/h3>\n<div>Trong th\u01b0 m\u1ee5c ch\u1ee9a m\u00e3 ngu\u1ed3n c\u00e1c b\u1ea1n t\u1ea1o ra 1 file\u00a0cache_test.php\u00a0n\u1ed9i dung nh\u01b0 sau:<\/div>\n<div>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;?php\r\n$mem = new Memcached();\r\n$mem-&gt;addServer(\"127.0.0.1\", 11211);\r\n\r\n$result = $mem-&gt;get(\"hello\");\r\n\r\nif ($result) {\r\necho $result;\r\n} else {\r\necho \"Khong thay key. Toi se them vao ngay bay gio!\";\r\n$mem-&gt;set(\"hello\", \"Toi la data! toi da duoc luu trong memcached!\") or die(\"Khong the luu den memcached...\");\r\n}\r\n?&gt;<\/pre>\n<p>L\u01b0u l\u1ea1i v\u00e0 truy c\u1eadp d\u1ea1ng\u00a0domain\/cache_test.php\u00a0l\u1ea7n \u0111\u1ea7u s\u1ebd kh\u00f4ng c\u00f3 cache v\u00e0 l\u1ea7n th\u1ee9 2 tr\u1edf \u0111i s\u1ebd c\u00f3 cache, n\u1ebfu n\u1ed9i dung t\u1eeb l\u1ea7n 2 tr\u1edf \u0111i l\u00e0\u00a0\u201chello\u201d, \u201cToi la data! toi da duoc luu trong memcached!\u201d\u00a0th\u00ec th\u00e0nh c\u00f4ng ro\u00e0i \u0111\u00f3.<\/p>\n<h3 id=\"C\u00e1ch_2:\">C\u00e1ch 2:<\/h3>\n<p>C\u00e1c b\u1ea1n s\u1ebd s\u1eed d\u1ee5ng l\u1ec7nh\u00a0telnet\u00a0\u0111\u1ec3 ki\u1ec3m tra:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">telnet localhost 11211\r\nstats items<\/pre>\n<p>k\u1ebft qu\u1ea3 d\u1ea1ng nh\u01b0 sau l\u00e0 c\u00e1c l\u01b0u key \u2013 value<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">STAT items:2:number 1\r\nSTAT items:2:age 106\r\nSTAT items:2:evicted 0\r\nSTAT items:2:evicted_nonzero 0\r\nSTAT items:2:evicted_time 0\r\nSTAT items:2:outofmemory 0\r\nSTAT items:2:tailrepairs 0\r\nSTAT items:2:reclaimed 0\r\nSTAT items:2:expired_unfetched 0\r\nSTAT items:2:evicted_unfetched 0<\/pre>\n<p>X\u00f3a cache v\u00e0 tho\u00e1t telnet b\u1eb1ng l\u1ec7nh sau, truy c\u1eadp l\u1ea1i trang, n\u1ebfu c\u00e1c gi\u00e1 tr\u1ecb d\u1ea1ng key \u2013 value \u0111\u01b0\u1ee3c ghi l\u1ea1i th\u00ec t\u1ee9c l\u00e0 memcached module \u0111\u00e3 l\u00e0m vi\u1ec7c c\u00f9ng memcached service ro\u00e0i c\u00e1c b\u1ea1n nh\u00e9.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">flush_all\r\nquit<\/pre>\n<p>Nh\u01b0 v\u1eady l\u00e0 b\u00e0i vi\u1ebft h\u01b0\u1edbng d\u1eabn\u00a0<a href=\"https:\/\/kienthuclinux.com\/directadmin-phan%E2%80%A6memcached-module\/\" rel=\"nofollow noopener\" target=\"_blank\">compile memcached module<\/a>\u00a0xong r\u1ed3i \u0111\u00f3 c\u00e1c b\u1ea1n, hy v\u1ecdng s\u1ebd gi\u00fap \u00edch c\u00e1c b\u1ea1n \u00edt nhi\u1ec1u trong vi\u1ec7c l\u1ef1a ch\u1ecdn c\u00e1c c\u00f4ng c\u1ee5 caching cho m\u00e3 ngu\u1ed3n c\u1ee7a m\u00ecnh.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hi\u1ec7n t\u1ea1i th\u00ec Memcached module h\u1ed7 tr\u1ee3 2 Version v\u00e0 m\u1ed7i version n\u00e0y s\u1ebd h\u1ed7 tr\u1ee3 cho c\u00e1c lo\u1ea1i phi\u00ean b\u1ea3n PHP kh\u00e1c nhau nh\u01b0 sau : php-memcached 3.x: &#8211; Supports PHP 7.0 &#8211; 7.1. &#8211; Requires libmemcached 1.x or higher. &#8211; Optionally supports igbinary 2.0 or higher. &#8211; Optionally supports msgpack 2.0 or higher. [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16424,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"tags":[],"ht_kb_category":[23],"class_list":["post-2194","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-control-panel-direct-admin"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/2194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=2194"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/2194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/16424"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=2194"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=2194"},{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb_category?post=2194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}