2

I just installed memcached on ubuntu 11.04 (which is my development server). During the install, the script arranged for memcached to be started automatically at boot. Great, just what I needed.

Except, I need 2 (or possibly 3) different memcached bins (in other words, one on port 11211, one one 11212) but I can't find where to configure ubuntu to start both memcached instances at boot time...

I'm currently using memcached 1.4.5

Per request, my /etc/init.d/memcached files looks like:

#! /bin/sh ### BEGIN INIT INFO # Provides: memcached # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Should-Start: $local_fs # Should-Stop: $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start memcached daemon # Description: Start up memcached, a high-performance memory caching daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/memcached DAEMONBOOTSTRAP=/usr/share/memcached/scripts/start-memcached NAME=memcached DESC=memcached PIDFILE=/var/run/$NAME.pid test -x $DAEMON || exit 0 test -x $DAEMONBOOTSTRAP || exit 0 set -e . /lib/lsb/init-functions # Edit /etc/default/memcached to change this. ENABLE_MEMCACHED=no test -r /etc/default/memcached && . /etc/default/memcached case "$1" in start) echo -n "Starting $DESC: " if [ $ENABLE_MEMCACHED = yes ]; then start-stop-daemon --start --quiet --exec $DAEMONBOOTSTRAP echo "$NAME." else echo "$NAME disabled in /etc/default/memcached." fi ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON echo "$NAME." rm -f $PIDFILE ;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE rm -f $PIDFILE sleep 1 start-stop-daemon --start --quiet --exec $DAEMONBOOTSTRAP echo "$NAME." ;; status) status_of_proc $DAEMON $NAME ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 

1 Answer 1

2

So, If you read the file /etc/init.d/memcached, you can see this

FILES=(/etc/memcached_*.conf).

So, I believe if you just create a memcached_1.conf file, with the settings, then it will run one more memcached process with the new port (given in the file created by you).

You can take the sample file from /etc/memcached.conf and copy it to /etc/memcached_1.conf.

just replace the default port 11211, with what you need, like 11212.

And restart the system. It should run the one more memcached binary with the new port and configs.

7
  • The line with "FILES..." is missin gin my /etc/init.d/memcached file, probably an other version of memcached? I'm using 1.4.5 Commented Dec 18, 2012 at 11:24
  • Hmmm .. Could be. Can you please paste your /etc/init.d/memcached file here so that I can check the same. Commented Dec 18, 2012 at 12:51
  • Ok, I added it to my original question so I could layout it properly. Thanks for your help Commented Dec 18, 2012 at 13:17
  • Hmmm .. it's different. Do you have any idea where do you set the port number for memcached. That should be the key file for the settings. If you can find the same, is there any way you could share the contents of the same. Commented Dec 18, 2012 at 13:50
  • Can't really say that I do... Correction, I found the answer here, but still no idea on how to setup multiple instances: bookofzeus.com/articles/how-to-install-memcached-in-ubuntu Commented Dec 18, 2012 at 15:37

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.