起因
由于宝塔的bug太多,我已经在前阵子更换为了1panel的面板,由于1panel的应用都是已docker形式部署的,但是WordPress官方的docker镜像的php没有安装Memcached、Redis等扩展。我之前写过一篇文章:优化WordPress站点教程,提高网站响应速度,就提到过,当动态网站存在大量访问时,数据库缓存能大大提高响应的速度。
docker操作步骤
- 本文以在原来的镜像上进行修改从而达到支持Memcached的效果,并不是构建镜像的教程
安装WordPress和Memcached
这步就不用多说了,如果使用1panel直接应用商店安装即可,也可以使用docker-cli或者docker-compose安装
配置WordPress
进入docker容器
如果使用1panel,在 容器 - 对应的容器(一般以1Panel-wordpress开头) - 终端 - 连接
也可以使用命令
docker exec -it 容器id /bin/bash
进入容器(容器id可以使用 docker ps
查看)
下载源码
mkdir -p /usr/src/php/ext/
curl -o /usr/src/php/ext/memcached.tar https://pecl.php.net/get/memcached-3.2.0.tgz
可以在 https://pecl.php.net/package/memcached 选择不同的版本安装
移动位置
tar zxvf /usr/src/php/ext/memcached.tar -C /usr/src/php/ext/
mv /usr/src/php/ext/memcached-3.2.0 /usr/src/php/ext/memcached
rm -f /usr/src/php/ext/memcached.tar
/usr/src/php/ext/
这个是php拓展的目录
安装依赖
apt update
apt install -y libmemcached-dev zlib1g-dev libssl-dev
如果在国内的话下载速度会比较慢,可以考虑换源
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
编译安装
docker-php-ext-install memcached
检查拓展是否成功安装 php -m | grep mem
修改配置文件
我是使用的WPJAM BASIC插件,安装教程可以查看我之前的文章,需要修改 wordpress/wp-content/object-cache.php
大概在464行左右,将原本的localhost
修改为你安装Memcached的ip地址(如果是用docker-compose或者1panel安装的可以直接使用主机名memcached
)
查看结果
重启WordPress容器,在后台WPJAM BASIC查看memcached是否正常工作
Comments 4 条评论
博主 孟夏十二
谢谢大佬
博主 二狗
请教下大佬,我完全按这个做的。我WP就是识别不到memcached是咋回事啊,它也没报错。除了WP没有识别,别的都正常了
博主 梦璃雨落
@二狗 需要重启容器
博主 二狗
@梦璃雨落 嗯嗯好的,重启可以了,谢谢大佬,感觉这个比在宝塔安装快太多了。