Linux下安装Memcache以及安装过程中一些问题的解决方法

一、下载安装libevent

cd /tmp                                                     #切换到tmp目录

wget http://www.monkey.org/~provos/libevent-1.2.tar.gz      #下载

tar zxvf libevent-1.2.tar.gz                                #解压

cd libevent-1.2                                             #切换到libevent目录

./configure --prefix=/usr                                   #配置安装路径
#如果此步骤报错,检查一下有没有安装编译器,没有的话运行以下命令进行安装
yum install gcc

make                                                        #编译
#如果提示:make: *** 没有指明目标并且找不到 makefile。 停止。   即为没有安装编译器

make install                                                #安装

ls -al /usr/lib | grep libevent                             #测试是否安装成功

lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r--r-- 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3

显示以上信息,即已安装成功

二、下载安装memcache

cd /tmp                                                             #切换到tmp目录
wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz     #下载
tar zxvf memcached-1.2.0.tar.gz                                     #解压
cd memcached-1.2.0                                                  #切换到解压目录
./configure --with-libevent=/usr                                    #配置
make                                                                #编译
make install                                                        #安装

ls -al /usr/local/bin/mem*                                          #测试是否安装成功

-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug

显示以上信息,即已安装成功

三、安装php的memcache扩展
http://pecl.php.net/package/memcache 去这个网站下载memcache安装包,我下载的是3.0.8
下载完之后拷贝到linux上

#切换到所在目录
tar vxzf memcache-3.0.8.tgz     #解压

cd memcache-3.0.8               #切换到目录

find / -name ‘phpize‘               #先找出phpize的位置
./usr/bin/phpize                #我的查找结果是这个

/usr/bin/phpize                 #执行此文件

Can‘t find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
#如果出现以上提示,即需要安装php-devel

yum install php-devel           #安装php-devel
/usr/bin/phpize                 #安装完后再执行此文件

find / -name ‘php-config‘           #查找这个文件
./usr/bin/php-config            #我的查找结果是这个

./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
#把/usr/bin/php-config改成查找出来的路径,然后执行

make                            #编译
#如果出现一大堆报错,而且其中有一句是:错误:zlib.h:没有那个文件或目录。    即需要安装zlib-devel

yum install zlib-devel          #安装zlib-devel
#然后再编译安装就ok了
make
make install

安装完之后会有,类似这样的提示
Installing shared extensions:     /usr/lib64/php/modules/

把php.ini中的extension_dir修改为这个路径就可以了
extension_dir = "/usr/lib64/php/modules/"

再在php.ini中添加一行
extension=memcache.so

三、启动memcache

/usr/local/bin/memcached -P /tmp/memcached.pid -d -m 20 -p 11211 -u root

各参数说明:
-d:启动一个守护进程
-m:分配给Memcache的内存大小,单位是M
-u:运行Memcache的用户
-l:监听的服务器IP地址
-p:Memcache的监听端口,最好是1024以上的端口
-c:最大并发数,默认是1024
-P:设置保存Memcache的pid文件,我设置的是保存在/tmp/memcached.pid

如果出现如下错误:
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory
即原因可能是memcached找不到libevent的位置

查看libevent的位置在哪
find / -name libevent-1.2.so.1
/usr/lib/libevent-1.2.so.1      查出来是在这里

然后查看memcache是在哪查找libevent的
LD_DEBUG=libs memcached -v
然后输出了一大堆信息
15008:  find library=libevent-1.2.so.1 [0]; searching
     15008:  search cache=/etc/ld.so.cache
     15008:  search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64        (system search path)
     15008:   trying file=/lib64/tls/x86_64/libevent-1.2.so.1
     15008:   trying file=/lib64/tls/libevent-1.2.so.1
     15008:   trying file=/lib64/x86_64/libevent-1.2.so.1
     15008:   trying file=/lib64/libevent-1.2.so.1
     15008:   trying file=/usr/lib64/tls/x86_64/libevent-1.2.so.1
     15008:   trying file=/usr/lib64/tls/libevent-1.2.so.1
     15008:   trying file=/usr/lib64/x86_64/libevent-1.2.so.1
     15008:   trying file=/usr/lib64/libevent-1.2.so.1

看到memcache是在/usr/lib64/查找libevent的

所以创建链接
ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1

再启动memcache
/usr/local/bin/memcached -P /tmp/memcached.pid -d -m 20 -p 11211 -u root

启动成功

四、测试

重启apache
service httpd restart

创建php文件
<?php
$m = new Memcache;
if(!$m->connect(‘127.0.0.1‘, 11211)){
    die(‘连接失败‘);
}
$m->set(‘key‘, ‘memcache安装成功‘, 0, 60);
echo $m->get(‘key‘);

至此,memcache已安装完成

设置开机自启动:
在/etc/rc.d/rc.local中加入启动命令即可

关闭memcache:

kill `cat /tmp/memcached.pid`
--------------------- 

原文:https://blog.csdn.net/codercwm/article/details/52625669?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/limonyun/p/9789101.html

时间: 2024-10-05 23:54:50

Linux下安装Memcache以及安装过程中一些问题的解决方法的相关文章

Linux下重新安装MySql后出现&#39;MySQL Daemon failed to start‘解决方法

Linux下重新安装MySql后出现'MySQL Daemon failed to start‘解决方法 近日在搭建lepus环境时,发现安装了xampp后,mysql启动不了. 运行service mysqld start或者/etc/init.d/mysqld start,出现: 运行mysql -uroot -p123456,出现: 后面在网上找到一种方法解决了此问题 rm -fr /var/lib/mysql/* rm /var/lock/subsys/mysqld killall my

Linux 下shell显示-bash-4.1$不显示用户名路径的解决方法

Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看到的[email protected]的组合,看起来很不舒服. 解决方案: 问题的原因是因为没有配置.bash_profile的问题,可以通过配置这个文件来解决问题. 1.在Terminal输入: vi ~/.bash_profile 2.如果没有.bash_profile可以自己添加.然后往文件中添加如下内容:e

CUDA程序编译过程中产生警告的解决方法

有时候经常使用别人用Tabhost+其它的实现demo.单纯利用Tabhost该如何使用呢? 下面看例子: public class MainActivity extends TabActivity { public TabHost tabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 获取对象 tabHost = getTabH

yii2 安装过程中的问题及解决方法

一.php版本要求5.4+,如果使用wamp组合包,建议更换 二.各种模块的支持,一般只要修改php.ini文件,去掉相应模块前的注释即可. 注意,Intl extension模块的支持需要将    php安装目录/bin下的icu*.dll 拷贝至apache安装目录/bin下. PDO PostgreSQL extension模块的支持需要同时开启extension=php_pdo_pgsql.dll      extension=php_pgsql.dll APC 模块由于我的php难奔较

nodejs备忘总结(一) -- node和express安装与配置,新建简单项目(附安装配置过程中遇到问题的解决方法)

安装node 本文以安装node_v8.9.0为例(win10环境),下载node-v8.9.0-x64.msi插件 下载后,安装,安装目录默认为C:\Program Files\nodejs 配置环境变量,系统变量->path,添加“C:\Program Files\nodejs\” 运行cmd,输入node -v C:\Windows\system32>node -v v8.9.0 安装express 找到node安装目录C:\Program Files\nodejs,命令行运行 C:\P

Linux下MySQL的写文件时权限错误(Errcode: 13)解决方法

在数据库中select * into outfile '/home/mysql/data.sql',mysql又提示错误: ERROR 1 (HY000): Can't create/write to file '/home/mysql/data.sql' (Errcode: 13)   权限错误(Errcode: 13)解决方法 1  查看导出目录的权限 是否有mysql用户写的权限 2 如果有多级目录,要确保到处目录的上级目录有可执行权限,如果是/root目录 700要修改705 否则写不进

首次使用windows管理界面访问安装在UNIX或linux下的DP服务器时提示无权限访问的解决方法

用windwos GUI管理界面连接时提示无权限访问: 在/etc/opt/omni/server/users/userlist 添加一行: "" "*" "*" * "admin"  再次运行DP的图形界面即可正常访问DP了.

Eclipse 使用过程中的问题及解决方法

1.Eclipse中java文件和jsp字体大小设置 1.更改所有文件的字体显示大小过程: Window->preferences->General->Appearance->Colors   and   Fonts->Basic->TextFont->右边按钮Change 2.Eclipse-Eclispe导入正确工程后出现xml等文件报错 问题描述:用Eclipse IDE导入一个正确的项目工程,一些xml配置文件和jsp页面报错 导致原因:因为我们写的这些文

linux下mysql提示&quot;mysql deamon failed to start&quot;错误的解决方法

操作系统为centos,网站突然连接不上数据库,于是朋友直接重启了一下服务器.进到cli模式下,执行 service myqsld start 发现还是提示"mysql deamon failed to start"错误信息. # /etc/init.d/mysqld start MySQL Daemon failed to start. Starting mysqld: [FAILED] 查看mysqld的log文件 #less /var/log/mysqld.log 141201