redis的安装与设置开机自启动
redis 的安装配置:
可以直接去官网下载((https://redis.io/download)
解压文件到指定目录下 tar zxvf redis-5.0.7.tar.gz -C /opt/install/
1. 我的redis安装在 opt/install目录下
,
2. 进入目录:cd redis-3.0.4 编译并安装
在redis-3.0.4目录下执行make命令
(1)运行make命令时故意出现的错误解析:
(2)安装gcc:
gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU's Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC 和 Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。
(3)能上网:yum install gcc-c++
(4)二次make
(5)出现错误jemalloc/jemalloc.h:如果没有那个文件或目录 运行make distclean之后再make
1. 如果make完成后继续执行make install
2. 查看默认安装目录:usr/local/bin。 /etc里面更多的是配置文件
为了安装过程中的安全建议备份在/opt下创建一个文件夹mkdir /opt/install/redis
然后直接修改我们我们拷贝过去的文件
(1)redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何。
(2)服务启动起来后执行。
(3)redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲。
(4)redis-check-dump:修复有问题的dump.rdb文件。
(5)redis-cli:客户端,操作入口。
(6)redis-sentinel:redis集群使用。
(7)redis-server:Redis服务器启动命令。
(8)启动
4. 修改配置文件
#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
启动。
连通测试。
/usr/local/bin目录下运行redis-server,运行拷贝出存放了自定义conf文件目录下的redis.conf文件。
[root@localhost bin]# redis-server /opt/install/redis/redis.conf
[root@localhost bin]# redis-cli -p 6379
因为可能要自己指定日志文件 在这里记录一下自己的日志文件放在了哪里
cd /usr/local/redis_log/
cd /usr/local/redis_dbfile/
关闭。
单实例关闭:redis-cli shutdown。
多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown
或者:shutdown 然后在使用 exit
5.启动或停止
redis提供了服务端命令和客户端命令:
redis-server 服务端命令,可以包含以下参数:start 启动stop 停止
redis-cli 客户端控制台,包含参数:-h xxx 指定服务端地址,缺省值是127.0.0.1-p xxx 指定服务端端口,缺省值是6379
[root@localhost bin]# redis-server start /opt/install/redis/redis.conf
[root@localhost bin]# redis-cli -p 6379
6. 设置开机启动(有两种方式本质上是一样的操作不一样)(我使用的是第二种)
第一种:
1) 输入命令,新建文件
vim /etc/init.d/redis
输入下面内容
- #!/bin/sh 注意:每一个启动脚本前面都是需要加上这一个
- # chkconfig: 2345 90 10
- # description: Redis is a persistent key-value database
- PATH=/usr/local/bin:/sbin:/usr/bin:/bin
- REDISPORT=6379
- EXEC=/usr/local/bin/redis-server
- REDIS_CLI=/usr/local/bin/redis-cli
- PIDFILE=/var/run/redis.pid
- CONF="/home/leyou/redis/redis.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
- if [ "$?"="0" ]
- then
- echo "Redis is running..."
- fi
- ;;
- stop)
- if [ ! -f $PIDFILE ]
- then
- echo "$PIDFILE does not exist, process is not running"
- else
- PID=$(cat $PIDFILE)
- echo "Stopping ..."
- $REDIS_CLI -p $REDISPORT SHUTDOWN
- while [ -x ${PIDFILE} ]
- do
- echo "Waiting for Redis to shutdown ..."
- sleep 1
- done
- echo "Redis stopped"
- fi
- ;;
- restart|force-reload)
- ${0} stop
- ${0} start
- ;;
- *)
- echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
- exit 1
- esac
然后保存退出
注意:以下信息需要根据安装目录进行调整:
EXEC=/usr/local/bin/redis-server # 执行脚本的地址
REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址
PIDFILE=/var/run/redis.pid # 进程id文件地址
CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址
2) 设置权限
chmod 755 /etc/init.d/redis
3) 启动测试
/etc/init.d/redis start
启动成功会提示如下信息
Starting Redis server...
Redis is running...
4) 设置开机自启动
chkconfig --add /etc/init.d/redis
chkconfig redis on
第二种:
mkdir /etc/redis 放置Redis的配置文件的 查看:find redis 或者ls /etc |grep redis
mkdir /var/redis 放置Redis的变量的 pid 进程号
cp utils/redis_init_script /etc/init.d/redis util在/opt/install/redis-5.0.7下 修改 /etc/init.d/redis
头部添加 #chkconfig: 345 60 60 linux中的自启服务都需要放在init.d
chkconfig 自启服务命令
mkdir /var/redis/6379
cp redis.conf /etc/redis/6379.conf
vim /etc/redis/6379.conf
#设置daemonize yes
#设置pidfile为 /var/run/redis_6379.pid
#设置logfile为 /var/log/redis_6379.log
chkconfig --add redis
chkconfig redis on
3. 启动关闭redis
Service redis start
Service redis stop
redis的安装与设置开机自启动的更多相关文章
- Centos7下Redis设置开机自启动服务
有个同事说重启了服务器没有自启动redis,我看了一下,是以前手动编译安装的模式,没有配置开机启动的服务 这边做个笔记记录一下redis如何设置编译安装模式的开机自启动. 第一种方法: 1.编写red ...
- docker 安装mysql设置不区分表名大小写,创建minio,设置开机自启动
环境deepin mysql : docker run -p 3306:3306 --name tyer-mysql --restart=always -v $PWD/conf:/etc/mysql/ ...
- centos7系统下nginx安装并配置开机自启动操作
准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...
- 设置开机自启动VirtualBox虚拟机系统
如果常用VirtualBox虚拟机系统的话,设置个随开机启动也是很方便的.不需要打开VirtualBox窗口,直接就是系统启动了. 又继续上网搜索学习了.(设置开机自启动VirtualBox虚拟机系统 ...
- CentOS7设置开机自启动方式
方式一: # 在/etc/rc.d/rc.local文件中追加启动命令,该文件追加后,会随着机器自动后,自动运行文件中的命令 # vim /etc/rc.d/rc.local # 权限问题:在cent ...
- Fedora 16设置开机自启动程序与Ubuntu的区别
Ubuntu设置开机自启动脚本的方法是:修改/etc/init.d/rc.local这个文件,添加需要启动的程序即可,相关函数如下: void SetSysAutoBoot() { ] = {}; ; ...
- linux_设置开机自启动程序脚本
设置开机自启动
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
- CentOS 6下 Oracle11gR2 设置开机自启动
[1] 更改/etc/oratab # This file is used by ORACLE utilities. It is created by root.sh # and updated by ...
随机推荐
- 简略图解:输入 url 到出现页面,浏览器做了什么?
应该有很多前端开发人员都思考过这么一个问题:从输入 URL 到页面加载完成,中间都做发生了什么? 这个问题涉及的面非常广,每个涉及的点又很深入.从触屏/键盘如何到 CPU?CPU 如何到系统内核?如何 ...
- luogu P6239 奇怪的道路
奇怪的道路 我看不出来是状压的状压 好吧,其实看到k的范围应该去往状压方面想的. 然后,题目中说"任何一个城市都与恰好偶数条道路相连(0也被认为是偶数)". 所以,奇偶,两种状态可 ...
- 获取访问者真实ip地址?我觉得不可能
我们真的能通过请求来获取用户真实的ip地址嘛? 答案是不能,如果能,肯定是我学的不够深入,欢迎交流指正. 那么写这篇文章的意义是什么?我们接着往下看. IP地址相当于电脑在网络上的身份证,但事实上IP ...
- WPF 附件路由事件
public class Person { public static readonly RoutedEvent NameChangedEvent = EventManager.RegisterRou ...
- 解决springboot在mac电脑下启动过慢的问题
自从用了mac以后,springboot启动的时候一直卡在build环节10多秒 但是在linux和Windows环境下,启动只要6秒,后面查看了一下其他 人也遇到这种问题,原来是需要在hosts文件 ...
- vue开发:前端项目模板
简介 vue-cli创建vue项目,整合vuex.vue-router.axios.element-ui 项目模板下载地址 创建项目 使用vue-cli创建项目,功能选择:Babel.Router.v ...
- ES6——简单的多态
简单的多态 多态: 1.同一个接口,在不同情况下做不一样的事情:相同的接口,不同的表现: 2.接口本身只是一组定义,实现都是子类里面:需要子类去实现的方法(子类只需重写与父类同名的方法,即可达到覆盖的 ...
- MySQL 实例空间使用率过高的原因和解决方法
用户在使用 MySQL 实例时,会遇到空间使用告警甚至超过实例限额被锁定的情况.在 RDS 控制台的实例基本信息中,即会出现如下信息: 本文将介绍造成空间使用率过高的常见原因及其相应的解决方法.对于M ...
- 前后端数据交互(二)——原生 ajax 请求详解
一.ajax介绍 ajax 是前后端交互的重要手段或桥梁.它不是一个技术,是一组技术的组合. ajax :a:异步:j:js:a:和:x:服务端的数据. ajax的组成: 异步的 js 事件 其他 j ...
- Why TypeScript?
本文经作者授权,翻译总结自 TypeScript Team 的成员 orta 的个人博客 <Understanding TypeScript's Popularity>. 原作者: ort ...