前情提要
centos 7 需要在wordpress使用memcached扩展加速。由于没有使用宝塔面板,所以需要手动安装一下扩展。
理论上,只需要把宝塔上安装好的扩展,然后复制粘贴到我需要的系统中,然后在配置文件上改一下就可以了。但是我也不知道为什么,我始终把原来的文件复制过去之后就不能正常使用,即便是改了配置文件也不行,然后最后只能一步一步查找方法,选择手动编译。我看宝塔上其实他那个安装也是下载了之后,然后再进行一次编译,只不过宝塔上是使用的脚本进行自动编译,但是我确实不太会写shell脚本,所以我只能一步一步的写命令行了。
安装步骤
前期准备
需要提前准备以下内容。
- centos7
- 已经安装好的php任意版本
Memcached 具体安装步骤
- yum 安装 memcached
yum install libevent libevent-devel #自动下载安装(Redhat/Fedora/Centos)
yum install memcached #自动安装memcached
- 手动安装编译 memcached
wget http://memcached.org/latest
tar -zxvf memcached-1.6.23.tar.gz
cd memcached-1.6.23
./configure && make && make test && sudo make install
这里运行make test可能会遇到报错,还需要安装perl-Test-Simple。
# 安装 perl-Test-Simple
sudo yum install perl-Test-Simple
可以考虑先yum安装,然后使用编译的新版本覆盖,已实现使用新的程序的目的。这样子比较省事,不用自己再设置system服务文件。
- 运行
# 前台运行
/usr/local/memcached/bin/memcached -p 11211 -m 64m
# 后台运行
/usr/local/memcached/bin/memcached -p 11211 -m 64m -d
- 作为服务运行
# Memcached.service
[Unit]
Description=Memcached
Before=httpd.service
After=network.target
[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/memcached
ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS
[Install]
WantedBy=multi-user.target
这是Memcached.service的内容
配置文件在/etc/sysconfig/memcached根据情况修改
PHP-Memcached 具体安装步骤
- 需要已经安装好php,不多赘述。
- 下载源码,解压,进入
# 下载源码
wget https://pecl.php.net/get/memcached-3.2.0.tgz
# 解压
tar -zxvf memcached-3.2.0.tgz
# 进入文件夹
cd memcached-3.2.0
- 根据readme文件,需要执行这几个步骤
phpize
./configure
make
make test
如果直接运行可能会不能运行,需要一些前期准备。
- 找到
phpize所在目录,/vhs/kangle/ext/php74/bin/phpize - 找到
php-config所在目录,/vhs/kangle/ext/php74/bin/php-config - 找到
libmemcached所在目录,/usr/include/libmemcached
其中麻烦的是第三个,需要在前面编译好Memcached之后才能找到第三个目录,前面两个根据实际情况进行查找,第三个一般都是在这一个默认目录。
实际运行的命令样式,我这里使用的kangle作为示范。
phpize
./configure --with-php-config=/vhs/kangle/ext/php74/bin/php-config --with-libmemcached-dir=/usr/include/libmemcached
make
make test
运行之后就可以在目录下找到memcached.so
- 设置扩展
将编译好的扩展文件memcached.so放置在扩展目录下,然后在php.ini文件中添加一行
extension=memcached.so
- 最后重启php服务即可完成安装。
可以使用phpinfo();检查一下扩展有没有成功安装。
