在重启后保留 memcached (1.4.14)

Persisting memcached (1.4.14) across reboots

我最近通过命令 sudo apt-get install memcachedsudo apt-get install python-memcache 安装了 memcached

接下来我在/etc/memcached.conf中做了一些快速设置(附在问题末尾)。作为记录,我通过 unix 套接字连接。接下来我尝试 sudo service memcached restart 将其启动并 运行.

然而,它没有用。然后我在 /var/run 中手动创建了一个名为 memcached 和 运行 chown memcache:root /var/run/memcached 的目录。

然后sudo service memcached restart就成功了。

但是,如果我 sudo reboot 并在重启后重新登录机器,sock 文件(以及包含它的文件夹)就会消失。

如何让 memcached 在这种情况下持续存在?我在Ubuntu 14.04,memcached配置文件如下:


# memcached default config file
# 2003 - Jay Bonci <jaybonci@debian.org>
# This configuration file is read by the start-memcached script provided as
# part of the Debian GNU/Linux distribution.

# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Be verbose
-v

# Be even more verbose (print client commands as well)
# -vv

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
#-m 64
-m 320

# Default connection port is 11211
#-p 11211

# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
#-l 127.0.0.1
-s /var/run/memcached/memcached.sock
-a 0777

# Limit the number of simultaneous incoming connections. The daemon default is 1024
# -c 1024

# Lock down all paged memory. Consult with the README and homepage before you do this
# -k

# Return error when memory is exhausted (rather than removing items)
# -M

# Maximize core file limit
# -r

如有需要,请索取更多信息。

我通过研究 memcached 的 init.d 启动脚本解决了我的问题。

我在脚本的开头添加了以下几行(它们当时还没有):

if [ ! -d /var/run/memcached ]; then

        mkdir /var/run/memcached

        chown memcache /var/run/memcached

fi

我保存了,然后将其设置为开机自动启动:

sudo update-rc.d memcached defaults
sudo update-rc.d memcached enable