1、redis-server的安裝 html
因爲我現網的機器使用的是ubuntu系統,因此這裏就以ubuntu爲例,能夠直接使用apt源安裝redis-server node
$ sudo apt-get install redis-server
安裝完成後,可使用dpkg命令查看各文件所在的路徑: redis
代碼以下 | 複製代碼 |
$ sudo dpkg -L redis-server /. /etc /etc/default /etc/default/redis-server /etc/redis /etc/redis/redis.conf /etc/redis/sentinel.conf /etc/init.d /etc/init.d/redis-server /etc/logrotate.d /etc/logrotate.d/redis-server /var /var/log /var/log/redis /var/lib /var/lib/redis /usr /usr/bin /usr/bin/redis-server /usr/share /usr/share/man /usr/share/man/man1 /usr/share/man/man1/redis-server.1.gz /usr/share/doc /usr/share/doc/redis-server /usr/share/doc/redis-server/copyright /usr/bin/redis-sentinel /usr/share/doc/redis-server/changelog.Debian.gz |
其中/usr/bin/redis-server爲程序執行文件,/etc/redis/redis.conf爲配置文件,/etc/init.d/redis-server爲自啓動文件 。單實例時,能夠經過sudo /etc/init.d/redis-server start 啓動。 ubuntu
2、運行多實例redis 服務器
默認的配置文件內容爲: app
代碼以下 | 複製代碼 |
$ egrep -v '^#|^$' redis.conf daemonize yes pidfile /var/run/redis/redis-server.pid port 6379 bind 127.0.0.1 timeout 0 tcp-keepalive 0 loglevel notice logfile /var/log/redis/redis-server.log databases 16 save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /var/lib/redis slave-serve-stale-data yes slave-read-only yes repl-disable-tcp-nodelay no slave-priority 100 appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes |
具體配置文件中參數的意思,能夠參看 redis配置文件詳解 。假設咱們如今要再啓動兩個redis實例,監聽端口分別是637八、6376,只須要複製一份redis.conf配置文件並作下修改再經過redis-server啓動便可。 tcp
以redis監聽6378端口爲例,只須要修改以下幾部分,其餘配置部他仍使用默認便可: 測試
代碼以下 | 複製代碼 |
pidfile /var/run/redis/redis-server6378.pid port 6378 logfile /var/log/redis/redis-server6378.log dir /opt/redis6378 vm-swap-file /opt/redis6378/redis.swap |
其中dir存儲路徑也能夠就用默位置/var/lib/redis ,不過dbfilename就不能再用默認的dump.rdb,可使用dump6378.rdb。不過此處仍是建議不一樣的redis實例存放在不一樣的路徑。 ui
修改完配置文件,經過下面的命令就能夠啓動新的redis實例: lua
代碼以下 | 複製代碼 |
# sudo /usr/bin/redis-server /etc/redis/redis6378.conf |
不過這時啓動後,經過ps命令查看會發現一個問題,原來的默認redis實例是以redis用戶啓動,而新的redis實例則會以root用啓動。
代碼以下 | 複製代碼 |
yang@crunchbang:/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/redis6378.conf |
經過查看/etc/init.d/redis-server自啓動文件會發現,自啓動在start時使用的語句爲:
代碼以下 | 複製代碼 |
start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON -- $DAEMON_ARGS |
此處一樣,能夠依葫蘆畫瓢。複製sudo cp /etc/init.d/redis-server /etc/init.d/redis6378 ,複製完成後,修改如下幾項:
代碼以下 | 複製代碼 |
DAEMON_ARGS=/etc/redis/redis6378.conf NAME=redis-server DESC=redis6378-server RUNDIR=/var/run/redis PIDFILE=$RUNDIR/redis-server6378.pid |
修改完後,也以redis6378配置文件啓動就好了。再經過ps查看,發現一樣也會是以redis用戶運行的進程。想要再加637六、6375等多個實例,還按上面的方法操做就OK了。
下面是本身參考此文章以後測試的結果:
默認Redis程序安裝在/usr/local/redis目錄下;
配置文件:/usr/local/redis/redis.conf,該配置文件中配置的端口爲默認端口:6379;
代碼以下 | 複製代碼 |
Redis的啓動命令路徑:/usr/local/bin/redis-server。 |
能夠指定端口啓動多個Redis進程。
代碼以下 | 複製代碼 |
#/usr/local/bin/redis-server |
須要啓動多個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 |