一、配置端口
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
出现如下错误:
说没有权限。于是查看文件的权限: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用户启动起来了。