1、安装redis

【1】下载安装包

#准备安装文件夹
mkdir /usr/local/soft/redis
#进入文件夹
cd /usr/local/soft/redis
#下载安装包
wget http://download.redis.io/releases/redis-4.0.11.tar.gz

【2】安装redis

#解压

tar zvxf redis-4.0.11.tar.gz

#make之前要安装gcc
 yum -y install gcc gcc-c++
#编译

cd redis-4.0.11
make #编译之后,提示可以'make test' make test
# 如果报错,提示You need tcl 8.5 or newer in order to run the Redis test,则安装tcl,然后再make test
yum install tcl -y

【3】配置redis.conf

#复制两份redis.conf,分别是6378、6379的配置文件

cp redis.conf redis-6378.conf
cp redis.conf redis-6379.conf #端口默认是6379,所以将redis-6378.conf的端口修改为6378,并将两个配置文件的bind 127.0.0.1 改为0.0.0.0(所有地址都能访问,如不改则只有本机可访问) vim /usr/local/soft/redis/redis-4.0.11/redis-6378.conf

2、将启动做成服务

vim /etc/init.d/redis-6379 

文本内添加:

#!/bin/bash

# description: redis Start Stop Restart

# processname: redis

# chkconfig: 234 30 90

REDIS_HOME=/usr/local/soft/redis

case $1 in

start)

$REDIS_HOME/redis-4.0.11/src/redis-server $REDIS_HOME/redis-4.0.11/redis-6379.conf &

;;

stop)

kill -9 `lsof -i:6379 | awk '{print $2}'`

echo "redis-6379 killed"
;; restart)
service redis-6379 stop sleep 0.2m service redis-6379 start ;; esac exit 0

6378同理:

3、启动redis

service redis-6379 start

【1】根据提示解决报错

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 

To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf 

and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
15104:M 10 Apr 09:44:29.767 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. 

This will create latency and memory usage issues with Redis. 

To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local 

in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

15104:M 10 Apr 09:44:29.767 * Ready to accept connections

vim /etc/sysctl.conf

文本内加:

vm.overcommit_memory = 1

使之生效

sysctl vm.overcommit_memory=1

echo never > /sys/kernel/mm/transparent_hugepage/enabled

添加到文件使开机重启后继续生效

vi /etc/rc.local

文本内添加:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

【2】再次启动

#启动6379

service redis-6379 start
#启动6378
service redis-6378 start 

#查看进程

ps -ef | grep redis

4、配置环境变量

vim /etc/profile

文本中添加

export REDIS_HOME=/usr/local/soft/redis/redis-4.0.1

:$REDIS_HOME/src

使之生效

source /etc/profile

测试是否配置成功

redis-cli

5、本地连接

#默认连接6379,也可以指定端口
redis-cli #连接6378,需要指定端口 redis-cli -p 6378

6、远程连接

【1】注释掉bind 127.0.0.1

可以使所有的ip访问redis,若是想指定多个ip访问,但并不是全部的ip访问,可以bind

【2】protected-mode yes 改为 protected-mode no

 vim /usr/local/soft/redis/redis-4.0.11/redis-6379.conf

【3】测试远程连接,如果连接不上,重启一下

Centos7搭建redis,同一服务器启动两个端口的redis的更多相关文章

  1. centos7搭建ntp时间同步服务器chrony服务

    centos7搭建ntp时间同步服务器chrony服务 前言: 在centos6的时候我们基本使用的是ntp服务用来做时间同步,但是在centos7后推荐是chrony作为时间同步器的服务端使用, ...

  2. 一台MySQL服务器启动多个端口

    一台MySQL服务器启动多个端口 在测试Mysql多主一从服务器,即一个从服务器多端口同步不同主库.本文记录了开启不同端口的操作. 详细步骤: 1.首先要先把my.cnf配置文件复制一份,开几个端口要 ...

  3. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Redis的初始化脚本文件及启动配置文件,并图解如何以服务的形式来启动.终止Redis服务,可以说我们的 ...

  4. centos7搭建postfix邮件服务器

    在使用qq等邮件服务器厂商提供的邮件服务后,发现他们的邮件发送数量是有限制的,随着公司的业务的需求下,我们需要搭建一个邮件服务器,邮件服务器可以帮助我们在一些提醒方面和消息推送方面起到帮助. 理论性语 ...

  5. 【数据库开发】Redis数据库服务器启动配置

    Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  6. centos7 搭建ntp时钟服务器

    服务器 : 192.168.137.3 客户机:  192.168.137.6 1. 服务器端 centos7下首先确认服务器的防火墙.selinux关闭状态 # cat /etc/redhat-re ...

  7. dubbo服务器启动后报错端口被占用

    环境:maven工程,ssm框架,tomcat 情景:dubbo的服务注册方服务器启动 问题原因: 经过网络查找,结果是Root WebApplicationContext 启动了两次,第二次报错,d ...

  8. centos7环境搭建一台mysql服务器启动多个端口

    在一台服务器上启动多个mysql实例,分别用不同的端口号,因centos7版本安装mysql5.7后不存在mysqld_multi .mysqld_safe等命令,做踩坑总结 Mysql多实例实现的3 ...

  9. CentOS7搭建配置SVN服务器

    安装subversionyum install subversionsubversion安装在/bin目录检查一下subversion是否安装成功svnserve --version 建立版本库sub ...

随机推荐

  1. Android集成友盟facebook分享

    在项目中需要将图片和视频分享到社交平台,所以集成了友盟分享.在集成facebook分享的时候走了不少弯路,现在将过程记录下来. 1.先将友盟facebook的jar包复制到项目的libs文件夹下. 2 ...

  2. electron将网站打包成桌面应用

    需求同 NW.js将网站打包成桌面应用 1. 从github上克隆electron示例项目 git clone https://github.com/electron/electron-quick-s ...

  3. Springboot ResponseEntity IE无法正常下载文件

    项目在google浏览器下都很nice了,但当测试到IE的时候开始出现各种问题. 项目是前端js通过URL传参fileName到后台解析返回ResponseEntity 前端代码如下: window. ...

  4. Hadoop 1.2.1 MapReduce 例子

    自学hadoop真的很困难,主要是hadoop版本太混乱了,各个版本之间兼容性并不算太好.更主要的是网上的很多MapReduce的Java例子不写import!!!只写类名!!!偏偏Hadoop中有很 ...

  5. leetcode:7. Reverse Integer

    这题简单,也花了我好长时间,我自己写的code比较麻烦,也没啥技巧:按正负性分类执行,先转化成字符串,用stringbuilder进行旋转,如果超出范围了就用try catch public int ...

  6. hdu1070

    #include <stdio.h>#include <string.h>struct milk{ char brand[128]; int price; int volume ...

  7. SuperSocket使用 IRequestInfo 和 IReceiveFilter 等对象实现自定义协议

    为什么你要使用自定义协议? 通信协议用于将接收到的二进制数据转化成您的应用程序可以理解的请求. SuperSocket提供了一个内置的通信协议“命令行协议”定义每个请求都必须以回车换行"\r ...

  8. vs2013使用git报错

    之前使用的是个人git账号,先转换为公司git账号,在同步时报Response status code does not indicate success: 403 (Forbidden) 上述问题是 ...

  9. 从阿里中台战略看企业IT架构转型之道

    此文是我阅读<企业IT架构转型之道>一书的学习笔记,所有内容出自钟华老师的这本书. 零.为何读<企业IT架构转型之道> 在加入X公司后,开始了微服务架构的实践,也开始了共享平台 ...

  10. 读《JavaScript权威指南》笔记(一)

    1.Number()  parseInt()  parseFloat() 如果通过Number()转换函数传入一个字符串,它会试图将其转换为一个整数或浮点数直接量,这个方法只能基于十进制数进行转换,并 ...