Redis是一个强大的Key-Value存储系统,在前面我们已遇到了两个问题:
1、redis server 启动后,独占进程,能不能修改为后台服务呢?
2、redis server 服务是单线程的,而我的机器是多核的,能不能在同一台机器上开启多个实例更充分的利用 cpu 资源呢?但6379端口已经被前一个实例绑定,肯定会有冲突,那能不能修改默认端口呢?
修改redis端口及设置redis server为后台服务有如下几种方法:
一、启动时手动指定端口并设置为后台服务
进入redis下的 src 目录,执行 redis-server启动服务;
$ cd src
$ ./redis-server --port 6379 --daemonize yes
连接客户端时,输入如下 ./redis-cli 命令:
$ ./redis-cli -p 6379
二、修改redis.conf文件
修改redis.conf文件,将文件中的daemonized参数配置为yes,port修改为指定端口号;
Redis 配置文件
# daemonize no 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes
daemonize yes
# 当redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,你可以配置到其他地址。
# 当运行多个redis服务时,需要指定不同的pid文件和端口
pidfile /var/run/redis.pid
# 指定redis运行的端口,默认是6379
port 6379
# 配置log文件地址
# 默认值为stdout,标准输出,若后台模式会输出到/dev/null
#logfile
stdout
logfile /var/log/redis/redis.log
更多参数详情可以参见如下链接:http://www.cnblogs.com/cxd4321/archive/2012/12/14/2817669.html
配置完成后,运行如下命令:
$ cd src
$ ./redis-server ../redis.conf
三、任意目录配置redis端口信息
任意新建port目录,在此目录下放入redis.conf文件,修改端口号,具体运行时参考如下信息:
$ cd src
$ ./redis-server XXX/port/rerdis.conf (redis.conf的具体存放路径)
附:lsof –i:端口 显示所有占用端口号的进程