在CentOS7上从源码编译安装redis,并做成服务程序

 

1.安装编译的依赖环境

# 安装pcre开发包:
 yum install -y pcre-devel 
# 安装ssl功能需要openssl库
 yum -y install openssl-devel
# 安装编译源码所需的工具和库
 yum install  gcc gcc-c++ ncurses-devel perl

2.下载并安装

 #命令行下载redis源码包
 wget http://download.redis.io/releases/redis-2.8.17.tar.gz
 
 #解压到当前目录中
 tar xzf redis-2.8.17.tar.gz
 
 # 切换到解压的目录中
 cd redis-2.8.17
 
 # 编译源代码文件
 make
 
 # 创建redis安装目录
 mkdir /usr/local/redis
 
 # 安装redis到刚才的新建目录中
 #安装成功后/usr/local/redis目录中有多出一个bin子目录,里面会有
 #redis-benchmark  redis-check-aof  redis-check-dump 
 #redis-cli  redis-server 这5个可执行文件
 make  --PREFIX=/usr/local/redis   install

 

3.修改配置文件

vi redis.conf
#修改一下配置
# 修改程序运行方式(在配置文件的第37行),将redis以守护进程的方式运行,
# no表示不以守护进程的方式运行(会占用一个终端) , 
daemonize yes

# 设置密码(在配置文件中的348行),取消注释,
requirepass <密码>
#保存退出


# 将此配置文件复制到系统配置文件目录上,方便随机启动读取
# 创建容纳redis配置文件的目录
 mkdir  /etc/redis
# 复制并重命名配置文件为”6379.conf“,
cp redis.conf /etc/redis/6379.conf

 

4.注册redis服务

#复制redis的启动脚本redis_init_script到/etc/rc.d/init.d/,并命名为redisd
 cp utils/redis_init_script /etc/rc.d/init.d/redisd
#修改脚本文件
 vi /etc/rc.d/init.d/redisd 

在redisd文件的第二行加入下面这一行内容(这里带#的注释是有意义的),并保存退出

#chkconfig: 2345 80 90

 

#注册服务
 chkconfig --add redisd
 
# 系统可能会提示使用'/sbin/chconfig',此时要建立一个软链接
ln -s /etc/rc.d/init.d/redisd /sbin/redisd
# 再执行以下命令,应该不会再报错了
/sbin/chkconfig --add redisd

 

5.设置redis开机自启,启动redis服务

            这是/etc/init.d/redisd启动脚本的开头部分内容截图

  • 建立redis可执行文件的链接关系
#刚才将"redis.conf"重命名为“6379.conf”的原因就是shell命令
#“ CONF="/etc/redis/${REDISPORT}.conf" ”将在脚本执行是读取以端口号命名
# 的conf文件,而这里端口的环境变量REDISPORT就是6379 。


#shell命令‘EXEC=/usr/local/bin/redis-server‘和
# ’CLIEXEC=/usr/local/bin/redis-cli‘将执行/usr/local/bin/目录下的
#redis-server、redis-cli两个可执行文件,但我是将redis自定义安装在/usr/local/redis/bin
#目录里的,因此要在/usr/local/bin/目录下建立redis执行文件的软链接
ln -s /usr/local/redis/bin/redis-server /usr/local/bin/redis-server
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
#  建立软链接的时候,一定要写全路径,不要写相对路径,否则在执行文件会提示“too many link”
  • 设置开机自启
systemctl enable redisd
  • 启动redis
systemctl start redisd
  • 防火墙的redis端口开放
#开放6379端口,方便外部远程登录redis
firewall-cmd --permanent --add-port=6379/tcp
#重新加载防火墙,使开放的端口生效
firewall-cmd --reload

 

posted @ 2019-07-21 13:13  蜀中孤鹰  阅读(815)  评论(0编辑  收藏  举报