####################linux下安装memcache过程######################
http://www.cnblogs.com/zgx/archive/2011/08/10/2134097.html
linux 下安装memcahe过程:
1.下载memcache文件:
memcache官网:http://memcached.org/downloads
wget http://memcached.org/files/memcached-1.4.22.tar.gz
若果出现如下异常:
--2015-02-11 17:32:25-- http://memcached.org/files/memcached-1.4.22.tar.gz
Resolving memcached.org... failed: No address associated with hostname.
wget: unable to resolve host address “memcached.org”
则:
wget:无法解析主机地址。这就能看出是DNS解析的问题。
解决办法:
登入root(VPS)。
进入/etc/resolv.conf。
比如内容如下:
nameserver 192.168.10.1
改成OpenDNS的一组解析服务器即可:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
下载libevent:
因为memcache依赖与libevent包,下载libevent:
libevent官网:http://libevent.org/
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
如果出现如下异常:
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.
问题解决的方法如下:
方法一、可以给服务器安装openssl
方法二、可以手动把 https://cloud.github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz 下载到本机,然后再上传到服务器/tmp目录里
方法三、用curl下载:curl -O -L http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure -prefix=/usr
# make
# make install
3.测试libevent是否安装成功:
# 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
还不错,都安装上了。
4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure -with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,
5.测试是否成功安装memcached:
# 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
启动Memcached服务:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 20 -u root -l 192.168.137.1 -p 11211 -c 256 -P /usr/local/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,默认为 11211,所以也可以不设置此参数,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
测试Memcached:
复制代码
[root@localhost /]# telnet 192.168.141.64 11211
Trying 192.168.141.64...
Connected to 192.168.141.64 (192.168.141.64).
Escape character is '^]'.
set key1 0 60 4
zhou
STORED
get key1
VALUE key1 0 4
zhou
END
复制代码
至此Memcached安装成功!
常见问题:
1.如果启动Memcached服务的时候遇到了
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory;
解决方案:
[root@localhost bin]# LD_DEBUG=libs memcached -v
[root@localhost bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[root@localhost bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid
[root@localhost bin]# ps -aux
可以看到启动的Memcached服务了.
2.把Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了.
假如启动Memcache的服务器端的命令为:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid容来自17jquery
想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令
/usr/local/memcached/bin/memcached -d -m 10 -p 12000 -u apache -c 256
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache 或 deamon
这样,也就是属于哪个用户的服务,由哪个用户启动。
下载memcache扩展包:
http://pecl.php.net/package/memcache/3.0.8/windows
http://museum.php.net/php5/
http://pecl.php.net/package/mongo
http://blog.csdn.net/jovenlu/article/details/16986357
####################Imagick扩展############################
#windows下 PHP5.5.6 + Imagick扩展
1、先安装 ImageMagick-6.8.7-7-Q16-x64-dll.exe 。 下载地址:http://www.imagemagick.org/script/binary-releases.php#windows 可以选择其他版本。
2、解压 php_imagick-3.1.2-5.5-ts-vc11-x64.zip,将php_imagick.dll放入php的ext目录下。
可根据Imagick的版本自行下载,下载地址:http://pecl.php.net/package/imagick 点击DLL,可以进入选择相应的php版本。
下载时,请注意non-thread-safe和thread-safe,前者适用于IIs,后者适用于Apache。
3、打开php.ini,添加 extension=php_imagick.dll,重启Apache。
#################linux 安装telnet##################
查看本机是否有安装telnet(centOS5默认有安装telnet)
# rpm -qa |grep telnet
如果显示结果为:
telnet-0.17-39.el5
telnet-server-0.17-39.el5
那恭喜你,机器上已经安装了telnet。如果没有安装,请看下一步。
特别说明:
telnet分为telnet-client (简称为telnet)和telnet-server。telnet-client系统,一般默认已经安装。telnet-server需要单独安装。
查看有没有安装telnet服务
rpm –qa|grep telnet
安装telnet客户端:
直接用命令“ yum -y install telnet"安装就行了
安装telnet服务器端:
--通过yum install安装Telnet程序
可以先查看:
[root@bogon xinetd.d]# yum list telnet-server
然后安装:
[root@bogon xinetd.d]# yum install telnet-server
-----------------------
安装telnet
第一种方法(在线安装):
可使用命令:
#yum install xinetd (注意在root下安装)
#yum install telnet -server(注意在root下安装)
第二种方法(光盘安装法):
cd /光盘/CentOS
rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
rpm -ivh telnet-server-0.17-39.el5.i386.rpm
特别说明:
1、telnet服务要依靠xinetd服务启动,所以要先安装xinetd服务。所以我们要先安装xinetd,再安装telnet-server。CentOS 5.5默认没有安装telnet和xinetd服务。
2、CentOS-5.5-i386-bin-DVD里面有xinetd和telnet-server和安装包!!不需要上网下载!!
三.配置telnet
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可!
方法二:使用chkconfig命令直接开启
#chkconfig telnet on
方法三:直接修改配置文件
vi /etc/xinetd.d/telnet
一般是这样子的:
# default: yes
# description: The telnet server servestelnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
只需要将”disable= yes”改成” disable=no”
四、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然
也就可以被激活。
# service xinetd restart
或者#/etc/rc.d/init.d/xinetd restart
五.iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令
当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重启防火墙
或者来点狠的!!关闭防火墙!
service iptables stop
六、可能的问题:
下面我们来看一下二种错误:
第一种:
[root@linuxchao ~]# telnet 192.168.1.87
Trying 192.168.1.87...
telnet: connect to address 192.168.1.87: Noroute to host
telnet: Unable to connect to remote host:No route to host
解决方法:这种问题防火墙没有允许telnet服务,连接被阻止,默认CentOS只允许SSH,所以进入其自定义选项,在telnet前打个勾!
第二种
[root@test xinetd.d]# telnet 172.25.1.3
Trying 172.25.1.3...
Connected to 172.25.1.3 (172.25.1.3).
Escape character is '^]'.
getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
Connection closed by foreign host.
这一个就是/etc/hosts文件配置问题
解决方法:我在里面加两个IP地址,内容如下:
[linux@localhost ~]$ more /etc/hosts
# Do not remove the following line, orvarious programs
# that require network functionality willfail.
127.0.0.1localhost.localdomainlocalhost
::1localhost6.localdomain6localhost6
192.168.1.88
192.168.1.86
说明:因为客户机的名字不好记就没写进去,内容格式应为127.0.0.1 pcname