redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis
自定义安装目录并安装
1、mkdir /usr/local/redis
2、下载redis到 /usr/local/src/,解压,进入解压后的目录
3、安装到指定目录
make PREFIX=/usr/local/redis install
注意:PREFIX必须大写;如写换成小写,不报错,还正常执行,但不会安装到我们的指定目录,而是会安装到/usr/local/src/redis-4.0.10/src目录下
4、测试
cd /usr/local/redis
注册 redis 服务
1、复制启动脚本到 /etc/rc.d/init.d 目录
rpm安装方式会把服务默认安装到 /etc/rc.d/init.d 目录下,并且不需要我们手动干扰。当服务安装到这个目录下后,我们就可以使用形如 service network start 的方式启动、关闭、重启服务了。
我们这里使用的是源码包的安装方式,所以需要我们手动把 redis 的启动脚本复制到 /etc/rc.d/init.d 目录下。
cp /usr/local/src/redis-4.0.10/utils/redis_init_script /etc/rc.d/init.d/redis
上面的命令还执行了更名操作,把redis_init_script重命名为了redis,这个名字可以随便取,比如redis1、redis2等。以 service network start 命令为例,service 会去/etc/init.d下寻找文件名为 network 的脚本,start是network 脚本的一个参数。如果我们取名为redis1,那么以后启动 redis 服务就要执行 service redis1 start。
2、修改初始化脚本
#!/bin/sh
# chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem. ### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf" case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF &
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
修改后的样子
1)在脚本的第二行添加 # chkconfig: 2345 80 90
注意:这行虽然以符号#开头,但并不是不起作用的注释代码
2345 代表的是linux系统的启动级别,也就是说在2345 这四个linux启动级别的时候会自动启动 redis 服务。
80 90 分别代表在系统启动服务和关闭服务的优先级,数字越小,优先级越高,越先启动或关闭。
2)修改 EXEC 和 CLIEXEC 的值
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
3)还可以把 redis 启动方式修改为后台方式,不修改也可以
$EXEC $CONF & 这个 & 就代表后台守护线程方式启动
3、将redis配置文件拷贝到/etc/redis/端口ID.conf
mkdir /etc/redis
cp /usr/local/src/redis-4.0.10/redis.conf /etc/redis/6379.conf
文件名改为 6379.conf 是由 /etc/rc.d/init.d/redis 里的CONF="/etc/redis/${REDISPORT}.conf"决定的
4、增加执行权限
chmod +x /etc/init.d/redis
这个时候我们已经可以使用 service redis stop/start 这些命令了
开机自启动设置
1、设置开机自启
chkconfig --add redis
2、查看开机自启动项
chkconfig --list
8、重启
reboot
9、ps -ef | grep 6379
一台计算机安装多个redis
不需要编译多次,也不需要把编译好的文件夹复制多份
1、只需要复制 /etc/rc.d/init.d/ 目录下的 redis 文件为redis1、redis2
2、修改redis1、redis2里面的端口号
3、复制/etc/redis/ 目录下的 6379.conf 为6380.conf、6381.conf
4、修改6380.conf、6381.conf里的端口号
redis linux版本自定义安装目录、注册服务、自启动设置、一台计算机安装多个redis的更多相关文章
- Microsoft Office软件自定义安装目录
Microsoft Office安装时不能手动设置安装目录,本文描述通过修改注册表的方式自定义安装目录 1.同时按下快捷键 win + r 启动运行 2.输入 regedit 打开注册表 3.找到 ...
- MYSQL—第二部分(Linux版本的安装和数据表的操作)
Linux版本的安装(过于简单了) 安装: ? 1 yum install mysql-server 服务端启动 ? 1 mysql.server start 客户端连接 ? 1 2 3 4 5 6 ...
- Linux 的软件安装目录
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32. / ...
- Linux系统Web网站目录和文件安全权限设置
查看Linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)例如: drwxr-xr-x 2 root root 4096 2009-01-14 17 ...
- Redis单机版本的安装
我的是centos-6.5的环境,安装redis的单机版本 1.下载redis源文件redis-3.0.0.tar.gz到一个目录,我的下载目录是/software 2.编译安装源文件的先觉条件是安装 ...
- Linux中在线安装Mysql和修改密码设置服务启动
一.说明:本文教大家在linux下在线安装mysql.网上的很多文章写的太乱,我们只取操作最方便的在线安装方式.本文以Centos为例. 二.安装过程. 1.安装客户端和服务端: (1)检查是否已经安 ...
- 【make install】自定义安装目录,添加动态链接库 【--prefix】 【ldconfig】 【LD_LIBRARY_PATH】
怎么卸载make install安装的软件? https://www.zhihu.com/question/20092756 怎么指定安装目录以及对应的添加动态库的方法 linux库在不指定安装路径时 ...
- InstallUtil.exe版本引起安装windows services 服务遇到的问题,System.BadImageFormatException
原文:把程序安装成windows服务的过程及遇到的问题 做好了定时任务的程序,要把它放在服务器上,作为windows服务运行,也就是说,退出登录,用户注销后程序任然在后台运行. 将exe程序发布为服务 ...
- mac下查看jdk安装版本及安装目录
使用IntelliJ idea新建工程时需要查看jdk安装目录,记录下来为以后备用. mac自带jdk,查看jdk版本: IcarusdeMacBook-Pro:~ icarus$ java -ver ...
随机推荐
- javascript php 数组 json 对比 总结
看到这个博客,终于明白JavaScript 里只有一种 Array,不存在索引数组和关联数组. 1.在js中所有要素都是继承自Object对象的,任何对象都能通过obj["name" ...
- mysql 约束条件目录
mysql 约束条件 mysql 约束条件 not null与default mysql 约束条件 unique key 唯一的键 mysql primary key 主键 mysql auto_in ...
- vue学习之npm
任何一门计算机语言都包含了丰富的第三方库,npm就是JavaScript这门语言的第三方库管理工具,本文详细介绍了JavaScript的包管理工具,npm. 在计算机中安装好Node.js之后,默认已 ...
- javascript产生对象(不建议看)
产生对象的方式:一.new+构造函数1.JavaScript的内置构造函数,如Date(),Function(),Array(),Object()2.自定义的构造函数二.对象字面量{}三.继承 用 v ...
- apply、map、applymap、Dropna
DataFrame常用易混淆方法 apply && map && applymap 1.apply():作用在一维的向量上时,可以使用apply来完成,如下所示 2.m ...
- selenium webdriver testng自动化测试数据驱动
selenium webdriver testng自动化测试数据驱动 selenium webdriver testng自动化测试数据驱动 一.数据驱动测试概念 数据驱动测试是相同的测试脚本使用不同的 ...
- 百度知道里关于C++的讨论
1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programm ...
- 76. Minimum Window Substring(hard 双指针)
Given a string S and a string T, find the minimum window in S which will contain all the characters ...
- lnmp搭建环境易错误点
1.虚拟主机使用桥接网络 2.nginx配置server 3.先ping通,service iptables stop 4.php-fpm开启,使之能正确解析php文件,nginx开启 5.mysql ...
- CAScrollLayer
CAScrollLayer 对于一个未转换的图层,它的bounds和它的frame是一样的,frame属性是由bounds属性自动计算而出的,所以更改任意一个值都会更新其他值. 但是如果你只想显示一个 ...