现在的位置: 首页 > Linux > 正文

linux redis实现自定义运行多端口、多实例

2015年10月16日 Linux ⁄ 共 2314字 ⁄ 字号 暂无评论

一、redis-server的安装

由于我使用的是ubuntu15 系统,所以这里就用Ubuntu给大家说明下,安装redis-server可以直接使用apt源安装redis-server,centos 则是yum源

$ sudo apt-get install redis-server

运行命令后 按照提示安装完毕后,使用dpkg命令查看各文件所在的路径,其中/usr/bin/redis-server为程序执行文件,/etc/redis/redis.conf为配置文件,/etc/init.d/redis-server为自启动文件 。单实例时,可以通过sudo /etc/init.d/redis-server start 启动 或者 直接redis-server 来启动

具体配置文件中参数的意思,可以参看 redis配置文件详解 。假设我们现在要再启动两个redis实例,监听端口分别是6380、6381,只需要复制一份redis.conf配置文件并做下修改再通过redis-server启动即可。

以redis监听6380端口为例,只需要修改如下几部分,其他配置部他仍使用默认即可:

pidfile /var/run/redis/redis-server6380.pid
port 6380

logfile /var/log/redis/redis-server6380.log
dir /opt/redis6380
vm-swap-file /opt/redis6380/redis.swap

修改完配置文件,通过下面的命令就可以启动新的redis实例:其中dir存储路径也可以就用默位置/var/lib/redis ,不过dbfilename就不能再用默认的dump.rdb,可以使用dump6380.rdb。不过此处还是建议不同的redis实例存放在不同的路径。

 

# sudo /usr/bin/redis-server /etc/redis/redis6380.conf  或者是 redis-server redis6380.conf 来启动

通过命令查看进程

song@song:/var/lib/redis$ ps auxf|grep redis
yang      4296  0.0  0.0   8060   864 pts/0    S+   05:41   0:00      |       _ grep redis
redis     3837  0.0  0.0  35912  1492 ?        Ssl  05:22   0:00 /usr/bin/redis-server /etc/redis/redis.conf
root      4275  0.0  0.0  35912  1480 ?        Ssl  05:37   0:00 /usr/bin/redis-server /etc/redis/redis6380.conf通过查看/etc/init.d/redis-server自启动文件会发现,自启动在start时使用的语句为:不过这时启动后,通过命令查看会发现一个问题,原来的默认redis实例是以redis用户启动,而新的redis实例则会以root用启动。

 

start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS

DAEMON_ARGS=/etc/redis/redis6380.conf
NAME=redis-server
DESC=redis6380-server
RUNDIR=/var/run/redis
PIDFILE=$RUNDIR/redis-server6380.pid修改完后,也以redis6380配置文件启动就行了。再通过ps查看,发现同样也会是以redis用户运行的进程。想要再加6381、6382等多个实例,还按上面的方法操作就OK了。此处同样,可以依葫芦画瓢。复制sudo cp /etc/init.d/redis-server /etc/init.d/redis6380 ,复制完成后,修改以下几项:

下面是自己参考此文章之后测试的结果:

默认Redis程序安装在/usr/local/redis目录下;

配置文件:/usr/local/redis/redis.conf,该配置文件中配置的端口为默认端口:6379;

 

Redis的启动命令路径:/usr/local/bin/redis-server。


#/usr/local/bin/redis-server
--port 6380 &    #启动6380端口的redis实例。

需要启动多个Redis实例:可以指定端口启动多个Redis进程。

一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379。
每个节点对应一个Redis配置文件,如: redis6380.conf、redis6381.conf

#cp redis.confredis6380.conf

#vi redis6380.conf

pidfile : pidfile/var/run/redis/redis_6380.pid

port 6380

logfile : logfile/var/log/redis/redis_6380.log

rdbfile : dbfilenamedump_6380.rdb

启动多个redis实例: (其他配置文件类似修改)

#redis-server/usr/local/redis/redis6380.conf

#redis-server/usr/local/redis/redis6381.conf

给我留言

您必须 [ 登录 ] 才能发表留言!

×