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..tar.gz # 切换到解压的目录中
cd redis-2.8. # 编译源代码文件
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
# 复制并重命名配置文件为”.conf“,
cp redis.conf /etc/redis/.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"重命名为“.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=/tcp
#重新加载防火墙,使开放的端口生效
firewall-cmd --reload

在CentOS7上从源码编译安装redis,并做成服务程序的更多相关文章

  1. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

  2. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  3. CentOS 7 源码编译安装 Redis

    1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar -xzf redis-4.0.10.tar.gz cd ...

  4. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  5. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  6. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  7. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  8. CentOS7.6源码编译安装PHP 7.3.8

    安装步骤 PHP官网下载链接:https://www.php.net/downloads.php 1. 使用wget命令下载源码安装包 wget https://www.php.net/distrib ...

  9. Centos7通过yum跟源码编译安装Nginx

    源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...

随机推荐

  1. jsp页面使用<% 语句%> SQL Server数据库报空指针异常(在控制台可以正常执行)

    一直反感用SQL Server数据库,很影响电脑性能!!数据库作业不得不用 前几天作业一直报空指针异常: 自己检查了所传参数,和数组不为空 数据库查询语句不为空 然后查看SQL服务是否启动  主要是S ...

  2. 第八篇Django分页

    Django分页 1.复杂版 data = [] , ): tmp = {"id": i, "name": "alex-{}".format ...

  3. jQuery文档加载事件

    $(document).ready(handler) $().ready(handler) (this is not recommended) $(handler) 相当于: $(document). ...

  4. QT多线程之---moveToThread用法

    在gui编程里,一个子函数的运行时间可能过长,界面就处于假死状态,原因是窗口是一个线程,子函数也在这个线程里,一些事件也要在这个线程里处理. 如果子函数运行时间过长,系统没有办法调用事件监听循环,gu ...

  5. 登录之后跳转到登录之前的页面 之 Referer 的坑

    简而言之:通过鼠标在页面上点击链接发送请求,请求header中会包含referer信息, 通过在浏览器地址栏书写并发送请求的,header中不会有referer信息. 为了完成登录动作成功后返回原页面 ...

  6. HZNU-ACM寒假集训Day7小结 背包DP

    背包问题 01背包 状态:f(i,j) 表示只能装前i个物品的情况下,容量为j的背包所能达到的最大总价值 状态转移方程:  f(i,j)=max(f(i-1,j),f(i-1,j-w[i])+v[i] ...

  7. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring实例化Bean的三种方法

    在面向对象的程序中,要想调用某个类的成员方法,就需要先实例化该类的对象.在 Spring 中,实例化 Bean 有三种方式,分别是构造器实例化.静态工厂方式实例化和实例工厂方式实例化. 构造器实例化 ...

  8. WEB一周总结(1)待补充

    1.网页设计作业--小组介绍 图片来自https://weibo.com/hxLMo?sudaref=www.baidu.com&display=0&retcode=6102 2.WE ...

  9. C++的一些知识点汇总

    数组形参 数组形参 void test(const int arr[]); //arr中的值不能被改变 void test(const int *arr); //arr中的值不能被改变,包括arr[1 ...

  10. eclipse默认的WebContent目录修改为webRoot

    从网上下载了个Java Web项目,导入Eclipse后在Tomcat中发布,发现在Tomcat的Webapps目录下没有JSP页面 到项目中去看才发现有两个目录,一个WebContent,一个Web ...