ubuntu下redis开启多个端口

一、配置端口

redis-server默认启动的端口是6379,使用的是默认的配置文件/etc/redis/redis.conf

比如现在要开启6380端口,先复制默认的配置文件为redis_6380: sudo cp /etc/redis/redis.conf /etc/redis/redis_6380.conf

编辑redis_6380.conf文件: sudp vim /etc/redis/redis_6380.conf

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

port 6380

~

logfile /var/log/redis/redis-server6380.log

~

dbfilename dump6380.rdb

保存,启动这个配置文件

redis-server /etc/redis/redis_6380.conf

报错了:

*** FATAL CONFIG FILE ERROR ***

Reading the configuration file, at line 94

>>> 'logfile /var/log/redis/redis-server6380.log'

Can't open the log file: Permission denied

说是当前用记没有权限。

于是用 sudoredis-server /etc/redis/redis_6380.conf

没有报错,ps查看一下进程:

发现这个两个端口的用户不一样,sudo启动起来的是root用户,难道都不能用redis的用户吗?

二、如何用redis用户启动redis+端口?

试想一下,默认的redis是如果启动的,于是找到了/etc/init.d/redis-server文件,查看里面的脚本,无非就是各种动作,然后照着这个脚本做一个6380启动的脚本既可。

sudo cp/etc/init.d/redis-server/etc/init.d/redis-server6380

修改这个文件: sudo vim/etc/init.d/redis-server6380

把这个脚本修改的和配置文件相对应:

DAEMON=/usr/bin/redis-server

DAEMON_ARGS=/etc/redis/redis_6380.conf

NAME=redis-server

DESC=redis-server6380

RUNDIR=/var/run/redis

PIDFILE=$RUNDIR/redis-server6380.pid

保存退出。

接下kill掉之前启动的6380端口:sudo kill -9 4539

用新的脚本启动这个6380的配置:sudo service redis-server6380 start

出现如下错误:

ubuntu下redis开启多个端口_第1张图片

说没有权限。于是查看文件的权限:ls -l /var/log/redis/

如图:

发现redis-server6380.log文件只有root才有权限,于是修改它的权限:

sudo chown redis:redis /var/log/redis/redis-server6380.log

再次查看权限:

再次启动:sudo service redis-server6380 start

启动没问题了,ps查看一下

所用的用户是redis用户,这样这个端口就用redis用户启动起来了。

你可能感兴趣的:(ubuntu下redis开启多个端口)