`
bardo
  • 浏览: 378251 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11805
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10113
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9501
社区版块
存档分类
最新评论

Memcached服务端自动启动

    博客分类:
  • PHP
阅读更多


经测试,要使得Memcached能够提供session共享服务,必须启动Memcached服务端为系统服务。本人较为初级,一般都是按向导安装的。
所以,要将其设为自动启动的服务也就困难了。

上网搜索了一下,结果,得到以下一些结果,做个记录:

1、最傻的做法

通常:启动Memcache的服务器端的命令为:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,上面命令
有人用以下命令:
/usr/local/memcached/bin/memcached -d -m 20 -p 11211 -u apache
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户,最好选择是:apache 或 deamon
这样,也就是属于哪个用户的服务,由哪个用户启动。

 

2、较正规的方法:

To add a service to chkconfig you will normally need a couple of special comments below the shebang of a shell script:

#!/bin/sh
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached

 

After adding the lines to /etc/init.d/memcached you can then issue

chkconfig --add memcached
There are of course additional run levels a process can start at so to check that you would issue

chkconfig --list | grep "memcached"
A common run level for memcached would be

chkconfig --level 345 memcached on

说明:chkconfig --add memcached 用来添加memcached服务
chkconfig --list | grep "memcached" 检查服务是否添加
还可以简写为这样:
chkconfig  --list | grep mem

chkconfig --level 345 memcached on 设置运行级别。
建议:最好使用chkconfig --level 235 memcached on 这样的话与apache级别相同,即只要有apache,就有memcached

3、更复杂的做法,创建完美的启动脚本

网上找到以下两个脚本:

 

#!/bin/sh
#
# memcached:    MemCached Daemon
#
# chkconfig:    - 90 25
# description:  MemCached Daemon
#
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#[ -r /etc/sysconfig/dund ] || exit 0
#. /etc/sysconfig/dund
#[ -z "$DUNDARGS" ] && exit 0
start()
{
        echo -n $"Starting memcached: "
        daemon $MEMCACHED -u daemon -d -m 1024 -l 127.0.0.1 -p 11211
        echo
}
stop()
{
        echo -n $"Shutting down memcached: "
        killproc memcached
        echo
}
MEMCACHED="/usr/local/memcached/bin/memcached"
[ -f $MEMCACHED ] || exit 1
# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        sleep 3
        start
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac
exit 0

  

#!/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 daemon -d -m 4096 -l 10.10.10.220 -p 58728
        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

  


在上述指定目录创建了上述某一个脚本以后,就可以进行以下操作:
 
[root@crm ~]# chkconfig  --add memcached
[root@crm ~]# chkconfig  --level 235  memcached  on
[root@crm ~]# chkconfig  --list | grep mem
memcached       0:off   1:off   2:on   3:on    4:off   5:on   6:off

接下来,可以用以下命令启动与停止 memcached

/etc/rc.d/init.d/memcached  start 
/etc/rc.d/init.d/memcached  stop
/etc/rc.d/init.d/memcached  restart
如:
[root@crm ~]# /etc/rc.d/init.d/memcached  restart
Shutting down memcached: [  OK  ]
Starting memcached:      [  OK  ]

同时,还可以用:
service memcached start
这样的命令操作

然后,可以用ps命令查看进程信息。
[root@crm ~]# ps aux | grep mem
daemon   23781  0.0  0.2 13892 9860 ?  Ss 16:51:00  /.../memcached -u daemon -d -m 1024 -l 172.16.0.106 -p 11211

以上两个脚本前一个脚本中,对网络进行检查。其它都是针对服务启动与停止的命令提示设置。
有人说,复杂的脚本并不好懂,自己也不会写,却想要更完善的,怎么办?
那就到网上找高手的。最好的捷径就是到对应的RPM包中去找。(如果直接用RPM包安装,这些事情都不用做了)
当然,memcached多数情况下都是编译安装,因为,很多时候都是找不到对应的版本。
脚本中 # chkconfig: - 55 45 运行级别这一列参数用的是 -,这样,是不在脚本中写死,可以通过 chkconfig  --level 235  memcached  on 灵活设置。
最后就是,目前仍不了解
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#[ -r /etc/sysconfig/dund ] || exit 0
#. /etc/sysconfig/dund
#[ -z "$DUNDARGS" ] && exit 0
这一段的详细含义。需要进一步学习!

2
8
分享到:
评论

相关推荐

    memcached服务端 for windows

    **Memcached服务端在Windows上的应用** Memcached是一款高性能、分布式内存对象缓存系统,它广泛应用于Web应用程序中,用于减轻数据库的负载,提高数据访问速度。作为一个轻量级的缓存解决方案,它通过在内存中存储...

    memcached服务端

    **Memcached服务端详解** Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,以减轻数据库负载,提高数据访问速度。它的工作原理是将数据存储在内存中,通过键值对的方式进行访问,以此实现...

    memcached客户端与服务端

    **Memcached 客户端与服务端详解** Memcached 是一个高性能、分布式内存对象缓存系统,用于在数据库应用之间存储动态数据,从而减少数据库负载,提高网站性能。它最初由 LiveJournal 的 Danga Interactive 创建,...

    memcached服务器端memcached.exe 下载

    标题“memcached服务器端memcached.exe 下载”指的是获取memcached服务端的可执行文件,`memcached.exe`是Windows环境下运行memcached服务的程序。这个绿色版的memcached意味着它无需安装,下载解压后即可直接运行,...

    企业级memcached部署(session共享)1

    例如,输入`echo 'memcached -m 16m -p 11211 -d -u root -c 8192' >>/etc/rc.local`,然后保存文件,确保服务在每次启动时都会自动启动。 **客户端部署(Web服务器)** 在Web服务器上,为了利用Memcached进行...

    Memcached 原理和使用详解

    5. **分布式**:Memcached支持基于键的分布式策略,这意味着多个客户端可以同时访问同一个Memcached实例,且数据自动分散在各个节点上,无需额外的分布式协调机制。 **Memcached的安装与使用**: 1. 安装Memcached...

    分布式缓存系统Memcached学习心得.zip

    在部署Memcached服务端时,我们需要选择合适的硬件环境,考虑到内存容量和网络带宽,确保系统能够应对预期的流量。安装完成后,配置包括端口设置、最大内存分配、超时时间等参数,以适应具体业务需求。启动服务后,...

    memcached基础-参考

    通过 `-M` 参数启动 memcached,可以避免自动删除,而是在内存耗尽时返回错误。 5. **解决高并发数据库压力** - 数据库读写分离与负载均衡。 - 部署 memcached 作为缓存层,存储部分热点数据。 - 分析和限制异常...

    Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

    安装完成后系统 自动启动了 memcached服务占用11211端口 如需重新配置11211端口的服务 需要关闭已开启的memcached服务 手动启动: memcached -d -m 128 -p 11211 -u memcache 这里需要说明一下memcached服务的启动...

    Session丢失的原因及解决办法

    使用Memcached需要安装Memcached服务端和客户端,然后,在web.config文件中配置Memcached的连接字符串。 Session丢失的问题可以通过增加硬件配置、使用第三方应用来保存session、配置State Server、Sql Server或...

    最新Redis 64位服务端 windows稳定版本

    2. `redis.windows-service.conf`:这个文件用于将Redis服务器配置为Windows服务,这样可以在系统启动时自动启动Redis,并允许通过服务管理工具进行控制。这对于持续运行的服务器环境非常有用。 3. `EventLog.dll`...

    memcache安装配置

    - 配置系统服务以便自动启动memcached - 对于Windows,可以下载预编译的可执行文件,并将其添加到系统路径中。 - 对于macOS,可以通过Homebrew或其他包管理工具进行安装。 3. **启动memcached服务** 3.1 命令 ...

    在Mac OS的PHP环境下安装配置MemCache的全过程解析

    memcache是项目名,而在服务端的驻留进程叫memcached(linux的守护进程一般都是在后面加个d)。在OSX下使用brew可以快速安装memcache: $ sudo brew install memcached memcache的依赖:openssl和libevent会自动下载...

    window 7memcache安装组件

    打开服务管理器,找到"Memcached Server"服务,确保其启动类型设置为“自动”,并启动服务。这样,每次系统启动时,Memcache都会自动运行。 3. **安装PHP Memcache扩展**: 将`php_memcache.dll`复制到PHP的`ext`...

    PHP 5.4 使用的 memcache

    安装完成后,通过启动Memcache服务,可以在多个服务器之间共享内存资源,实现数据的高速缓存。 **php_memcache.dll** `php_memcache.dll`是PHP的Memcache扩展的动态链接库,用于在PHP环境中与Memcache服务端通信。...

    Windows下Memcache的安装方法

    3. 打开cmd命令界面,执行安装命令c:\memcached\memcached.exe -dinstall,这会将Memcache服务安装为Windows服务,以便随系统自动启动。 4. 启动Memcache服务,执行命令c:\memcached\memcached.exe -dstart。之后,...

    memcache1.2.1 for windows

    - 数据过期机制:支持设置数据的生存时间,超过该时间后数据会被自动删除。 - 底层协议简单:使用基于文本的简单协议,易于实现客户端和服务器之间的通信。 3. **Memcache与PHP的结合** PHP是Web开发中常用的...

    php之Memcache学习笔记

    - Memcache服务器的启动使用`-d`参数,例如`memcached -d start`来启动守护进程。 2. PHP访问Memcache - PHP通过memcache扩展或memcached扩展与Memcache服务器交互。首先需要安装相应的PHP扩展,通常是通过编译...

    NFS共享文件系统实战.pptx

    - 启动NFS服务并设置开机启动。 2. **NFS客户端配置**: - 在客户端安装`nfs-utils`和`rpcbind`。 - 使用`showmount`命令查看服务器上的共享目录。 - 使用`mount`命令挂载NFS共享目录,例如`mount -t nfs 192....

Global site tag (gtag.js) - Google Analytics