Memcached 在本方案中的作用主要是实现多个 iPortal 服务的 session 共享并保持一致,从而使得用户在使用 iPortal 过程中不会因为 iPortal 节点间的切换导致其登录状态发生改变。在部署好的 Nginx 服务器上配置部署 Memcached 服务。
- 安装相关依赖
Memcached 的运行需要依赖 libevent-devel,运行如下命令:
yum –y install libevent-devel
如果您没有连接互联网且本地 yum 源中没有相关 package,那么您需要手动下载如下文件并进行安装:
- libevent-devel-1.4.13-4.el6.x86_64.rpm
- libevent-doc-1.4.13-4.el6.noarch.rpm
- libevent-headers-1.4.13-4.el6.noarch.rpm
将下载好的以上三个文件拷贝到指定目录下,例如:/tmp,然后运行如下命令安装这些依赖:
cd /tmp
yum install libevent-*.rpm
- 编译安装 Memcached
将 Memcached 源码文件拷贝到指定目录下,例如:/usr/local/src/,然后运行如下命令进行解压、编译和安装:
tar zxf memcached-1.4.25.tar.gz
cd memcached-1.4.25
./configure
make
make install
- 制作 Memcached 启动脚本,用以将 Memcached 注册为系统服务,并使其随系统启动而启动
用文本编辑工具(如 NotePad++)新建一个“memcached”文件,注意将该文件保存为 UNIX 格式,并添加入以下代码:
#!/bin/sh
#
# memcached: MemCached Daemon
#
# chkconfig: - 90 25
# description: MemCached Daemon
#
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
start()
{
echo -n $"Starting memcached: "
daemon /usr/local/bin/memcached -u root -d -m 10 -p 11211
echo
}
stop()
{
echo -n $"Shutting down memcached: "
killproc memcached
echo
}
[ -f /usr/local/bin/memcached ] || exit 0
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
condrestart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart}"
exit 1
esac
exit 0
其中,/usr/local/bin/memcached -u root -d -m 10 -p 11211 这行代码是启动 memcached 的命令,其具体的参数含义介绍如下,有关更多的 memcached 的启动命令,请您参考 Memcached 官方用户手册以及具体的需求进行相应的配置。
- -u <username> 绑定使用指定用户运行 memcached 服务
- -m <num> 允许最大内存用量,单位:M (默认: 64 MB)
- -p <num> 设置 TCP 端口号(默认: 11211)
将创建好的 memcached 文件靠本到指定目录 /etc/init.d/ 下,执行如下命令,将 memcached 注册为系统服务,并使其随系统启动而启动
chmod +x /etc/init.d/memcached
chkconfig --add memcached
chkconfig memcached on
如 memcached 启动成功,会有如下显示: