案例:
memcached是一個(gè)php的緩存擴(kuò)展,通過(guò)它把數(shù)據(jù)庫(kù)的查詢(xún)結(jié)果緩存在內(nèi)存中,而內(nèi)存的讀寫(xiě)速度比SSD還要快幾十倍,解決了硬盤(pán)緩存速度的瓶頸,加快服務(wù)器網(wǎng)頁(yè)加載速度。
流程:
一.前期構(gòu)建PHP中的Dockerfile文件時(shí),需要把對(duì)應(yīng)的PHP擴(kuò)展件的名字
提供docker官網(wǎng)對(duì)應(yīng)如何寫(xiě)入擴(kuò)展件的方法
https://hub.docker.com/_/php/
二.如何安裝docker中的PHP、Nginx、MySQL、redis等環(huán)境在我的公眾號(hào)中已介紹安裝了。
三.了解PHP中對(duì)應(yīng)容器中的id值:docker ps -a
四.進(jìn)入容器id:1774c888f715
五.先安裝兩個(gè)插件
1.apt-get install yum -y
2.apt-get install wget -y
六.安裝依賴(lài)包
1.apt-get install libmemcached-dev -y
2.apt-get install memcached -y
七.安裝php-memcached
1 wget https://pecl.php.net/get/memcached-3.1.4.tgz//目前最新版本為3.1.4
2 tar -vxf memcached-3.1.4.tgz
3 cd memcached-3.1.4
4 找到phpize文件
find / -name phpize
沒(méi)有執(zhí)行 /usr/local/bin/phpize
文件中不存在 ./configure
執(zhí)行 /usr/local/bin/phpize
//這是php-memcached編譯的前置組件,一般在php的安裝目錄下可以找到;輸出以下內(nèi)容
5./configure --with-php-config=/usr/local/bin/php-config --enable-memcached//開(kāi)始編譯
6 make && make install//開(kāi)始安裝,留意最后輸出的路徑
#Build complete.
#Installing shared extensions:
# /usr/local/lib/php/extensions/no-debug-non-zts-20170718/
7 cd /usr/local/lib/php/extensions/no-debug-non-zts-20170718/
8 cp -rf *.so /usr/local/php/lib/php/extensions///將文件移動(dòng)到extensions目錄下
八.修改php.ini
在php.ini中加入
[Memcached]
extension=memcached.so //如果插件在其他目錄,則填寫(xiě)對(duì)應(yīng)目錄的名稱(chēng)
執(zhí)行docker restart 容器id //重啟docker 中的php-fpm
九.查看phpinfo
十.配置memcached
memcached默認(rèn)分配64M內(nèi)存作為緩存,運(yùn)行在11211端口,可以根據(jù)自己的需求修改
1 vim /etc/init.d/memcached
//找到以下字段,如果沒(méi)有,則自行在開(kāi)頭注釋字段后添加
PORT=11211 #端口,可以按自己需求修改
CACHESIZE=64 #緩存大小,單位為mb,可以按自己需求修改
2 /etc/init.d/memcached restart//重啟讓修改生效
十一.卸載
清除php.ini中的[Memcached]字段
1 rm -rf /usr/local/php/lib/php/extensions/memcached.so
2 apt-get remove libmemcached-dev memcached -y && apt-get autoremove && apt-get clean
3 執(zhí)行docker restart 容器id //重啟docker
更多技術(shù)問(wèn)題:請(qǐng)關(guān)注技術(shù)分享社區(qū)頭條號(hào)。