一、配置端口
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
說是當前用記沒有權限。
於是用 sudo redis-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用戶啟動起來了。