centos安装memcache与telnet

时间:2024-05-06 17:33:31

####################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.****.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