To create the second process with config2 configuration, create its configuration file /etc/sysconfig/memcached2 with following settings:
nano /etc/sysconfig/memcached2
PORT="11212"
USER="memcached"
MAXCONN="2048"
CACHESIZE="512"
OPTIONS="-l 127.0.0.1"
Create systemd unit file /etc/systemd/system/memcached2.service with following settings:
[unit]
Description=Memcached2
Before=httpd.service
After=network.target
[service]
Type=simple
EnvironmentFile=-/etc/sysconfig/memcached2
ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS
[install]
WantedBy=multi-user.target
Start the second memcached process:
systemctl start memcached2.service
Enable it on server boot:
systemctl enable memcached2.service
Check status of second memcached process; it should be running if no problem happened:
systemctl status memcached2
memcached2.service - Memcached2
Loaded: loaded (/etc/systemd/system/memcached2.service; enabled)
Active: active (running) since Mon 2014-12-15 15:20:03 EDT; 20s ago
Main PID: 24226 (memcached)
CGroup: /system.slice/memcached2.service
└─24226 /usr/bin/memcached -u memcached -p 11212 -m 128 -c 1024 -l 127.0.0.1
Dec 15 15:20:03 localhost.localdomain systemd[1]: Starting Memcached2...
Dec 15 15:20:03 localhost.localdomain systemd[1]: Started Memcached2.
To verify listening sockets of memcached processes, use following ss command:
ss -lnp | grep memcached
tcp UNCONN 0 0 127.0.0.1:11211 *:* users:(("memcached",24217,27))
tcp UNCONN 0 0 127.0.0.1:11212 *:* users:(("memcached",24226,27))
tcp LISTEN 0 128 127.0.0.1:11211 *:* users:(("memcached",24217,26))
tcp LISTEN 0 128 127.0.0.1:11212 *:* users:(("memcached",24226,26))
You can see that the two memcached processes are listening to ports 11211 and 11212 respectively on loopback IP address 127.0.0.1.
If you require more memcached processes, create separate configuration and systemd unit files. Then manage the processes using systemctl as explained above.
Conclusion
In this article, we showed you a method to run multiple memcached processes on a CentOS 7 Linux system by extending the default binary RPM installation. Each extra memcached process owns a separate configuration file and is managed by a separate systemd service unit file.
Source:
[Hidden Content]