如何运行多个memcached实例和如何使用memcached的unix socket模式。

原创 qtwrk  2018-07-13 05:35  阅读 259 次 评论 0 条

首先安装,

yum install memcached -y

安装完成后,分开设置2个systemd服务

cp /usr/lib/systemd/system/memcached.service /etc/systemd/system/memcached.service
cp /usr/lib/systemd/system/memcached.service /etc/systemd/system/memcached2.service

分别命名为memcached和memcached2

默认内容

[Unit]
Description=Memcached 
Before=httpd.service
After=network.target

[Service]
Type=simple
EnvironmentFile=-/etc/sysconfig/memcached
ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS

[Install]
WantedBy=multi-user.target

 

第一个文件内容不变,编辑第二个文件,将

EnvironmentFile=-/etc/sysconfig/memcached

改成

EnvironmentFile=-/etc/sysconfig/memcached2

同样也复制一遍配置文件

cp /etc/sysconfig/memcached /etc/sysconfig/memcached2

memcached配置文件默认内容

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
修改/etc/sysconfig/memcached2里的端口号 11211 改成其他的, 比如11212,保存。

运行

systemctl start memcached
systemctl start memcached2

以启动这2个memcached实例。

运行

netstat-lnp | grep memcached

检查。

运行

systemctl enable memcached
systemctl enable memcached2

进行开机自启

 

UNIX SOCKET模式

根据测试, socket模式比TCP/IP高出30%左右的性能。

大致步骤和上面一样, 主要是 修改/etc/systemd/system/memcached.service文件时,需要添加用户名和组

比如我的网站用户名是vps,组是www, 注意,这个用户名和组,必须是你的网站PHP进程所使用的用户和组,否则PHP将无法和memcached通信!那么就在此文件的[Service]下添加

User=vps
Group=www

 

同时修改/etc/sysconfig/memcached

将默认用户从memcached改成你的用户,OPTIONS下添加 -s /路径/memcached.sock -a 0770

其他步骤和以前一样。

可以通过以下命令进行测试。

nc -U /path/to/memcached.sock
stats

如果出现无法启动, 请检查SELINUX,可以参考这篇文章

本文地址:https://vps.group/mutilple-memcached-unix-socket-20180713.html
版权声明:本文为原创文章,版权归 qtwrk 所有,欢迎分享本文,转载请保留出处!

发表评论


表情