当前位置:首页 » 操作系统 » memcache源码安装

memcache源码安装

发布时间: 2022-04-29 04:37:11

‘壹’ memcached怎么安装和使用

memcached安装和使用的方法

  • 软件的下载,好像从官网上只能下载未经编译源码,需要自己编译后才能安装使用,不熟悉的用户还是直接网络搜索下载比较好,

  • 下载之后解压会出现两个版本,32位系统用x86,64位系统用x64,里面各有一个.exe程序。

  • 建议把memcached的文件夹拷贝到自己的网站环境目录下方便统一管理。

  • 接下来就是安装了。打开命令提示符,进入到memcached所在目录。

  • 输入

  • memcached -d install

  • 如果没有报错说明安装成功

  • 打开 开始-->管理工具-->服务,或者 运行-->services.msc来打开服务管理界面,前面的安装环节没有出现问题的话这里会多一个 Memcached Server服务。

  • 点击启动此服务,或者命令行输入 net start "Memcached Server" 来启动memcached.

  • 至此,memcached安装完成。

‘贰’ php 怎么配置memcached

分为linux和windows系统下:

windows下:

1、首先下载memcache的windows版本,将下载下来的文件解压出来后会看见一个名为memcached.exe的可执行程序

2、将该文件放到指定目录,如D盘

3、安装:

开始->运行->cmd打开命令窗口

进入D盘:cd d:

安装memcache服务:

在命令窗口输入:

memacahed.exe -d install

等待命令执行完成后,就可以在服务列表中看到memcached服务

4、启动memcache服务:

memcached.exe -d start

5、可以通过以下命令来查看memcache服务是否启动成功:

wmic process get description, executablepath | findstr memcached.exe

可以将memcached.exe的路径放入到系统环境变量中,方便使用。

查看memcache运行状态:

在命令窗口输入:

telnet 127.0.0.1 11211

链接到memcache上,输入stats就可以查看到当前memcache的状态了;

linux下:

1.下载memcache源码

http://www.memcached.org/

2.解压并进入目录

./configure --prefix=/usr/local/memcache
make
make test
sudo make install

3.启动memcache

memcache -d start -u root

验证memcache是否正确安装并启动

netstat -tap | grep memcached

4.安装memcache扩展库

下载memcache扩展

进入到memcache扩展文件

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install

修改php.ini文件 增加

extension=memcache.so

安装memcached扩展库

下载memcached扩展

memcached扩展需要libMemcached库的支持,所有在安装memcached扩展库之前要确认系统已经安装了libmemcached

安装libmemcached

./configure --prefix=/usr/local/memcache
make
make install

libmemcached安装完成后,就可以安装memcached扩展库

./configure --with-libmemcached-dir=/usr/local/memcached/ --with-php-config=/usr/local/php/bin/php-config
make
make install

同样修改php.ini配置文件,增加

extension=memcached.so

‘叁’ 怎么查看linux是否安装了memcache

安装软件一般有2种,rpm和源码

rpm-qa|grepmemcache#rpm包查询
find/-name"memcache"#查看源码安装文件

‘肆’ 阿里云服务器如何安装memcached

方法/步骤
1
使用Xshell登陆阿里云服务器。
请使用root帐号登陆。下面的操作全部在home目录里执行
2
安装libevent。
输入命令 yum -y install libevent-devel
3
下载memcached源码并解压。
依次输入命令
wget -c
tar -zxvf memcached-1.4.18.tar.gz
cd memcached-1.4.18
4
指定memcached安装路径。
输入命令 ./configure --prefix=/alidata/server/memcached/
5
编译并安装。
输入命令 make && make install
6
修改memcached的用户组。
一般应用服务器都会使用一个用户来运行,如果你是使用阿里云的一键安装包部署环境的话,那么应用服务器的用户就是www。现在把memcached文件夹赋给www,输入命令:
chown -R
7
设置memcached开机时自动启动。
要让memcached自动启动,需要添加一个服务的脚本到/etc/init.d。memcached的源码包里已经包含了一个服务脚本,但需要稍作修改才能使用。输入命令:
cp ~/memcached-1.4.18/scripts/memcached.sysv /etc/init.d/memcached
vi /etc/init.d/memcached

修改图里红框里的内容,其中参数说明如下:
PORT=11211 #监听的端口
USER=www #所属的用户
MAXCONN=1024 #最大连接数
CACHESIZE=64 #使用的内存大小,这里是64M
OPTIONS="" #其他选项

start()函数修改成如下内容
start () {
echo -n $"Starting $prog: "
# insure that /var/run/memcached has proper permissions
#chown $USER /var/run/memcached
/alidata/server/memcached/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /alidata/server/memcached/memcached.pid $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
}

‘伍’ php7无法安装memcache扩展 系统 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4

一 下载需要的源码包
所有安装包均选用最新的。
1. 下载libevent2.0.22
点击红色部分下载
下载memcached1.4.24
点击红色部分,下载最新版本
下载php扩展memcache3.0.8
选择需要的版本
二 安装详细步骤
首先将以上三个软件包下载到/tmp目录下
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.0.22-stable.tar.gz #解压包cd libevent-2.0.22-stable #进入到解压的目录./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改make; make install #编译+安装
1
测试是否安装成功
看到这些信息,表示成功啦
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.4.24.tar.gz #解压包
cd memcached-1.4.24 #进入到解压的目录
./configure –with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致make; make install #编译+安装
1
测试是否安装成功
表示成功的信息
通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3. 安装扩展
cd /tmp #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/opt/lampp/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config请根据自己环境情况填写make; make install #编译+安装
1
完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息
看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib
下载zlib-1.2.8.tar.gz
下载地址:http://www.zlib.net/
如图:
红色部分点击
cd /tmp #首先进入到该下载包的目录
tar zxvf zlib-1.2.8.tar.gz #解压包
cd zlib-1.2.8 #进入到解压的目录
./configure --prefix=/usr/local/zlib
make; make install #编译+安装
1
再进行配置一下系统的文件,加载刚才编译安装的zlib生成的库文件vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出: /usr/local/zlib/lib也就是添加安装目录的文件路径,库文件。ldconfig 运行之后就会加载安装的库文件了。
OK,到这一步了,此时,重新在memcache的php扩展中执行make;make install命令如果看到以下信息,表示成功:
扩展安装成功
三 配置php.ini文件
首先通过phpinfo函数,找到php.ini的路径,我的是:/opt/lampp/etc/php.ini在其中添加如下内容:
修改extension_dir路径:
extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/”
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然后重新启动apache,再次通过phpinfo查看一下情况。如果有如下内容,表示配置成功:
信息
四 配置memcached服务器
启动memcached服务器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid2. 结束memcached进行
kill cat /tmp/memcached.pid
3. 检查memcached是否已经启动
看到绿色框中内容,就表示完成
五 测试php的memcache扩展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

‘陆’ linux php7 安装 memcached 改哪个配置文件

1、php7安装Memcached扩展
比如说我现在使用了最新的 Ubuntu 16.04,虽然内置了 PHP 7 源,但 memcached 就还没有,不过好在,它已经支持了 PHP 7 ,只是没有源而已,我们手动编译它。
要安装 memcached,需要先安装依赖库 libmemcached
从 这里 找到最新的 libmemcached 源码包,然后下载。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make && make install
安装好依赖库之后,我们来安装 memcached :
从 github 克隆 memcached 后,需要手动切换到 php7 分支,不然会提示 fatal error : ext / standard / php_smart_str . h : No such file or directory 错误。
git clone https://github.com/php-memcached-dev/php-memcached

‘柒’ memcache集群式怎么部署,redis集群怎么部署

本经验介绍,Linux下redis的集群部署安装。
工具/原料

redis
linux
方法/步骤

下载redis安装文件,redis-3.0.2.tar.gz。去redis官网下载3.0或者以上版本

解压redis到指定文件,这里解压到/usr/local/lantu下,命令:
tar -zxvf redis-3.0.0-rc2.tar.gz

移动redis解压文件,这里移动到/usr/local/redis3.0。单独建一个文件方便安装使用。然后执行安装命令进行安装。命令:
mv redis-3.0.0-rc2.tar.gz redis3.0
cd /usr/local/redis3.0
make
make install

可能会遇到gcc没有安装,安装后可能还需要设置make MALLOC=libc

4
如果安装报错cc:command not find。安装gcc
命令。yum install gcc.

5
安装如果报错“make[1]: *** [adlist.o] Error 1”,解决方法:make MALLOC=libc
注意:Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。
redis-2.4以上自带jemalloc,你不需要加任何参数,通过zmalloc.c源码中我们可以看到,Redis在编译时,会先判断是否使用tcmalloc,如果是,会用tcmalloc对应的函数替换掉标准的libc中的函数实现。其次会判断jemalloc是否使得,最后如果都没有使用才会用标准的libc中的内存管理函数。所以用tcmalloc优化请谨慎使用,这两着分配器碎片率相差不大,建议用自带jemalloc。

‘捌’ memcache 扩展直接在 php.ini配置可以么

一下载需要的源码包所有安装包均选用最新的。1.下载libevent2.0.22点击红色部分下载下载memcached1.4.24点击红色部分,下载最新版本下载php扩展memcache3.0.8选择需要的版本二安装详细步骤首先将以上三个软件包下载到/tmp目录下1.安装libeventcd/tmp#首先进入到该下载包的目录tarzxvflibevent-2.0.22-stable.tar.gz#解压包cdlibevent-2.0.22-stable#进入到解压的目录./configure--prefix=/usr/local#编译前配置,生成Makefile文件,路径可自行更改make;makeinstall#编译+安装1测试是否安装成功看到这些信息,表示成功啦2.安装memcachedcd/tmp#首先进入到该下载包的目录tarzxvfmemcached-1.4.24.tar.gz#解压包cdmemcached-1.4.24#进入到解压的目录./configure–with-libevent=/usr/local#编译前配置,生成Makefile文件,路径必须与libevent中一致make;makeinstall#编译+安装1测试是否安装成功表示成功的信息通过以上操作,就完成了memcached服务器的安装。特别的简单吧!现在就来搞一搞memcache的php扩展安装吧3.安装扩展cd/tmp#首先进入到该下载包的目录tarzxvfmemcache-3.0.8.tgz#解压包cdmemcache-3.0.8#进入到解压的目录/opt/lampp/bin/phpize#动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况./configure–enable-memcache–with-php-config=/opt/lampp/bin/php-config–with-zlib-dir#php-config请根据自己环境情况填写make;makeinstall#编译+安装1完成以上步骤时,心情愉悦的点击了enter,准备喝口水潇洒一下,结果出现了一下错误(这也是我写这篇博客的原因,要不都懒得记录了)错误信息看了下代码错误信息,说是zlib.h找不到。找不到就给他安一个嘛。真是的安装zlib下载zlib-1.2.8.tar.gz下载地址:memcached.pid3.检查memcached是否已经启动看到绿色框中内容,就表示完成五测试php的memcache扩展connect("192.168.12.201",13001);$mem->set('key','Thisisatest!',0,60);$val=$mem->get('key');echo$val;?>写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。

‘玖’ 如何在Centos的linux操作系统安装php的memcache扩展

准备工作:
1、一台linux的服务器

2、下载相应版本的php源码,知道自己php的版本并且知道phpize的位置

3、懂基本的linux解压命令和编译
操作步骤:
1、通过ssh登陆到我们的服务器,找到我们的phpize位置,如果不知道下载跟目前使用版本相同的php源码重新编译一下
2、下载memcached的源码包,并解压安装

wgettar -zxvf memcache-3.0.8.tgz #解压cd memcache-3.0.8 #进入源码包/usr/local/php/bin/phpize #执行phpize./configure --with-php-config=/usr/local/php/php-config #准备编译make && make install #编译安装

3、配置php.ini文件在最后面添加扩展进去

vim /etc/php.iniextension=memcache.so

4、重启web服务器,我用的是apache

service httpd restart

5、编写一个phpinfo文件去查看有没有安装成功

‘拾’ memcached 打错了怎么后退

由于Cookie是保存的用户客户端的,安全性存在问题,为保证用户数据的安全性,我们必须使用Session机制来保存用户登录后的一些信息。 如果我们使用LVS对Apache实现负载均衡,就无法保证用户每次都能被分配到同一台Apache Server上,以取到自己的Session,虽然LVS可以加-p参数来保证客户端每次都被分配到同一台Apache Server上,但这种方式存在一些弊端,比如必须设置一个保持时间,如果时间太长了,LVS就需要缓存大量信息,时间太短了,又不能保证用户每次被分配到同一台Server上,而且这种方式也不易实现Session的冗余备份。 因此,我们需要Session共享,也就是说每台Apache都可以访问到所有的Session,这样用户被分配到哪台Server就不重要了。 Session共享主要有多种实现方式:  Session复制。Apache可以实现把Session同步到其他Server上去,但这种技术太复杂,而且影响性能,占用内存,所以不推荐使用。  Session集中存储。存储介质可以是NFS文件系统、数据库、Memcached,从性能上考虑,当然是Memcached最好,推荐使用。 1.3 实现 1.3.1 安装Memcached Memcached是基于libevent实现的,所以要首先确保已经安装libevent。 安装libevent tar zxvf libevent-1.4.13-stable.tar.gz cd libevent-1.4.13-stable ./configure --prefix=/usr make && make install 安装Memcached tar zxvf memcached-1.4.4.tar.gz cd memcached-1.4.4 ./configure --prefix=/usr/local/memcached --with-libevent=/usr make && make install 启动Memcached /usr/local/memcached/bin/memcached -d -m 10 -u root -l 192.168.0.9 -p 11211 -c 256 -P /tmp/memcached.pid 1.3.2 安装PHP扩展pecl::memcache pecl install memcache 或源码安装 tar zxvf memcache-2.2.5.tgz cd memcache-2.2.5 phpize ./configure make && make install 将 php.ini 中 extension=memcache.so 打开,重启一下 apache,查看 phpinfo 中的 "Registered save handlers" 会有"files user memcache" 这3个可用。 另外,基于libmemached的php扩展在pecl发布了,叫pecl::memcached,性能上可能会更好。 1.3.3 配置Memcached保存Session 修改配置文件,在 php.ini 中全局设置 session.save_handler = memcache session.save_path = "tcp://192.168.0.9:11211" 或者某个目录下的 .htaccess : php_value session.save_handler "memcache" php_value session.save_path "tcp://192.168.0.9:11211" 再或者在某个一个应用中: ini_set("session.save_handler", "memcache"); ini_set("session.save_path", "tcp://192.168.0.9:11211"); 使用多个 memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数"persistent"、"weight"、"timeout"、"retry_interval" 等等,类似这样的:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。 1.3.4 测试 <?php session_start(); if (!isset($_SESSION['TEST'])) { $_SESSION['TEST'] = time(); } $_SESSION['TEST3'] = time(); print $_SESSION['TEST']; print "<br><br>"; print $_SESSION['TEST3']; print "<br><br>"; print session_id(); ?> 可以直接用sessionid 去 memcached 里查询一下: telnet 192.168.0.9 11211 get 得到 TESTi:1177556731;TEST3i:1177556881; 这样的结果,说明session 正常工作 用Memcached来存储 session 在读写速度上会比文件快很多,而且在多个服务器需要共用session时会比较方便,将这些服务器都配置成使用同一组Memcached服务器就可以,减少了额外的工作量。缺点是 session 数据都保存在 memory 中,持久化方面有所欠缺,但对 session 数据来说也不是很大的问题,如果要持久化数据,也可以使用新浪开发的MemcacheDB或日本人开发的Tokyo tyrant+Tokyo Cabinet。 另外,如何解决Memcached的单点故障问题,有以下几个方案:  使用上面提到的Memcache::addServer增加多台Memcached,但这样只能达到一台出故障之后,另外一台可以使用,但每台Memcached的数据是独立的,不共享,不复制,出故障的数据丢失了。  使用Memcached的一个补丁应用repcached,可以实现multi master replication和asynchronous data repliacation,并且支持原来Memcached的所有命令。不过这个应用只支持Memcached1.2.x版本。  使用Tokyo tyrant+Tokyo Cabinet(简称TT+TC)。TT兼容Memcached协议,可以直接替换使用,TT支持replication,可以实现故障转移,TC则为TT提供持久化。 TT+TC是日本最大的社交类网站mixi.jp开发的开源应用,并已成功应用在mixi.jp中,值得研究。

热点内容
如何把复制存储删了 发布:2024-10-04 21:07:59 浏览:202
我的解压神器 发布:2024-10-04 21:06:06 浏览:110
西门子编程100例 发布:2024-10-04 21:05:28 浏览:326
乐高机器人ev3编程 发布:2024-10-04 20:56:10 浏览:990
算法左神 发布:2024-10-04 20:23:55 浏览:910
lol手游如何配置技能 发布:2024-10-04 20:17:11 浏览:861
服务器两根心跳线ip一样吗 发布:2024-10-04 20:17:03 浏览:554
java无状态 发布:2024-10-04 20:15:40 浏览:729
电信为什么限制上传速度 发布:2024-10-04 20:11:28 浏览:816
编程哪个培训机构好 发布:2024-10-04 19:55:14 浏览:60