【TNAS】Linux精简版安装Memecache缓存

Home / Article MrLee 2020-11-5 1950

折腾一天,因为TNAS是基于Linux内核开发一套系统,安装软件并不像centos,debian之类的容易,只能手动编译安装,并且还是缺这缺那,一精简Linux系统,总之,折腾就对了。为了提高NAS网站速度,Memcached服务必须安装,Memecache的PHP拓展必须有!Memcached拓展不知道为啥老是编译用不了,总是提示加载错误,可能是TOS系统PHP不兼容,我已经是最大化兼容了,下载了和TOS的PHP一样的版本PHP7.1.13,编译ZTS版本。最后用Memcache拓展4.0.5.1成功了,低版本还不行,编译出错,可能是太老了。

硬件:F4-220

系统:TOS4.0

因为tos系统是基于linux内核开发,并不带yum或apt-get安装,所以一切只能源码编译安装,安装目录/mnt/md0/application/(对应/usr/loca/目录),首先用root用户名登录ssh

memcached服务端

wget http://memcached.org/latest                    下载最新版本
tar -zxvf memcached-1.x.x.tar.gz                    解压源码
cd memcached-1.x.x                                  进入目录
./configure --prefix=/usr/local/memcached           配置
make && make install                                编译并且安装

/mnt/md0/application/memcached/bin/memcached如果下载失败,可以手动下载再上传,我这里放到mnt/md0/public目录下编译,安装成功之后,路径:

启动命令,仅供参考:

./memcached -d -m 64M -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

然后安装php拓展,tos系统并不带phpize,所以要先看php版本,输入php -v

下载对应php版本,然后对官方下载,

wget https://www.php.net/distributions/php-7.1.13.tar.gz --no-check-certificate
tar zxvf php-7.1.13.tar.gz
wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz
tar zxvf libxml2-2.7.2.tar.gz
./configure
make && make install

下载好了先不急编译,需要下载libxml2库。同理

然后再切换到php-7.1.13目录,php默认是ts模式,使用zts需要加上下面参数

./configure --without-sqlite3 --without-pdo_sqlite --enable-maintainer-zts
make && make install

然后利用phpize来拓展so对应版本的库

手动安装m4, autoconf

#安装m4
wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz \
&& tar -xzvf m4-1.4.13.tar.gz \
&& cd m4-1.4.13 \
&& ./configure --prefix=/usr/local
make && make install
#安装autoconf
wget http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz \
&& tar -xzvf autoconf-2.65.tar.gz \
&& cd autoconf-2.65 \
&& ./configure --prefix=/usr/local
make && make install

接下来configure又遇到问题,要安装pkg-configautoconf在make的时候一直失败,然后在tos重新安装一下php拓展pecl。然后就可以正常make了。

wget http://pecl.php.net/get/memcache-4.0.5.1.tgz               
tar -zxvf memcache-4.0.5.1.tgz
cd memcache-4.0.5.1
/mnt/md0/application/bin/phpize
./configure --with-php-config=/mnt/md0/application/bin/php-config
make && make install

下载pkg-config(我下的是pkg-config-0.29.2.tar.gz)https://pkg-config.freedesktop.org/releases/

wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz --no-check-certificate
tar -zxvf pkg-config-0.29.2.tar.gz
./configure
make
make install

安装配置的时候,提示加参数至此, pkg-config 安装完成。

./configure --with-internal-glib

PHP 连接 Memcached 服务

测试memcache-4.0.5.1.tgz可编译通过,2.2.7可能太老了,编译不过,有错误。直接换最新的。

最后修改/etc/php.ini内容如下(默认好像自动增加了)

extension=memcache.so

重启nas即可看到。


测试代码

<?php
$memcache = new Memcache;             //创建一个memcache对象
$memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器
$memcache->set('key', 'test');        //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get('key');   //从内存中取出key的值
echo $get_value;
?>

PS后记:在nas更新系统之后,很可能php加的memcache拓展没用了,需要重新把之前编译的memcache.so复制到/usr/lib/php/modules/下面,然后还是重复:最后修改/etc/php.ini内容如下(默认好像自动增加了)

extension=memcache.so

本文链接:https://www.it72.com/12665.htm

推荐阅读
最新回复 (0)
返回