【发布时间】:2011-07-21 15:26:22
【问题描述】:
我已经在 Ubuntu 上安装了memcached。如何将它作为守护程序运行,以便它在后台运行并且我可以在我的 rails 应用程序中使用它?
谢谢, 伊姆兰
【问题讨论】:
我已经在 Ubuntu 上安装了memcached。如何将它作为守护程序运行,以便它在后台运行并且我可以在我的 rails 应用程序中使用它?
谢谢, 伊姆兰
【问题讨论】:
memcached 默认配置为在启动时运行,至少在 10.10 上:
# apt-get install memcached
...
Setting up memcached (1.4.5-1ubuntu1) ...
Starting memcached: memcached.
# ls -l /etc/rc*.d/*memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc0.d/K20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc1.d/K20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc2.d/S20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc3.d/S20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc4.d/S20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc5.d/S20memcached -> ../init.d/memcached
lrwxrwxrwx 1 root root 19 2011-03-23 13:36 /etc/rc6.d/K20memcached -> ../init.d/memcached
#
在运行级别 2、3、4 和 5 中,memcached 将运行。
如果您不确定,可以使用status 运行初始化脚本:
# /etc/init.d/memcached status
* memcached is running
【讨论】:
apt-get 安装时遇到了一些问题。现在我已经使用-d 开关在daemon mode 中运行。但是/etc/init.d/memcached status 说No such file or directory。但是,当我尝试“memcached status”时,它会显示failed to listen on TCP port 11211: Address already in use。所以这意味着它在后台运行。
/etc/init.d 和所有符号链接到 /etc/rc*.d/ 目录中默认包装提供。 (如果 memcached 源不包含 initscript,您可能只想运行 cd /tmp; apt-get source memcached 并从 Ubuntu 打包中窃取 initscript,然后对其进行编辑以引用您安装 memcached 可执行文件的任何位置。它可能还需要您创建用户和组帐户。)
在 ubuntu 上安装 memcached
apt-get install memcached
启动内存缓存
/etc/init.d/memcached start
重启memcached
/etc/init.d/memcached start
检查memcached的状态
/etc/init.d/memcached status
编辑 memcached 配置
sudo vi /etc/memcached.conf
默认情况下,memcached 将在 127.0.0.1:11211 上运行,并且默认配置为在启动时运行
【讨论】:
以防万一其他人最终在这里寻找如何直接运行守护程序(例如在 docker 容器中)。您要查找的标志是-d。
/usr/bin/memcached start -u memcached -d
【讨论】: