如何通过源码安装redis-3.0.5
admin
2023-06-08 19:22:09
0

##### 安装redis-server #####

# 创建运行用户

useradd redis -s /sbin/nologin -M

# 上传软件到指定位置,我的软件保存位置为

mkdir -p /server/tools/

# 解压,配置,编译,安装

cd /server/tools/
tar -zxf redis-3.0.5.tar.gz 
cd redis-3.0.5
make PREFIX=/usr/local/redis
make PREFIX=/usr/local/redis install

# 配置redis环境变量

echo ' ' >> /etc/profile 
echo 'PATH for redis-server' >> /etc/profile 
echo 'export PATH=/usr/local/redis/bin/:$PATH' >> /etc/profile 
tail -3 /etc/profile
source /etc/profile
echo $PATH

# 或者(重启失效)

export PATH=/usr/local/redis/bin/:$PATH
echo $PATH

# 创建配置文件,数据,日志等相关目录,并拷贝配置文件

# 创建规范的目录结构有助于行成良好习惯,提高效率

mkdir -p /usr/local/redis/conf
mkdir -p /usr/local/redis/data
mkdir -p /usr/local/redis/logs
cp redis.conf /usr/local/redis/conf/
cd /usr/local/redis/conf/
tree /usr/local/redis

# 到此redis基本配置便已完成,可以使用redis初始配置进行启动

# 启动命令

/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf &

# 查看启动状态,进程和端口

ps -ef |grep redis
netstat -anptl |grep redis

# 测试及使用

# 客户端连接命令为:

/usr/local/redis/bin/redis-cli -p 6379

[root@cache redis]# redis-cli -p 6379
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a 
"1"
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> set c 3
OK
127.0.0.1:6379> keys *
1) "c"
2) "a"
3) "b"
127.0.0.1:6379> exit

# 以上为简单测试,验证安装正确与否

# 安全关闭redis

/usr/local/redis/bin/redis-cli shutdown

# 关闭redis时,数据默认会保存在启动redis时候所在的位置,保存为dump.rdb

-------- 简单优化redis --------- 

# 以默认配置启动redis-server会出现以下警告信息:不影响使用,

# 不过以笔者的习惯自然不会容忍此等警告信息的存在:

[root@cache redis]# redis-server /usr/local/redis/conf/redis.conf &
[1] 4570
[root@cache redis]# [4570] 07 Dec 03:54:50.938 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.0.5 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 4570
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

[4570] 07 Dec 03:54:50.939 # Server started, Redis version 3.0.5
[4570] 07 Dec 03:54:50.939 # 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.
[4570] 07 Dec 03:54:50.939 # 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.
[4570] 07 Dec 03:54:50.939 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
[4570] 07 Dec 03:54:50.939 * The server is now ready to accept connections on port 6379

# 根据启动日志提示需要优化一些内核的参数,按提示操作:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/enabled
echo 511 > /proc/sys/net/core/somaxconn
cat /proc/sys/net/core/somaxconn
echo "vm.overcommit_memory = 1" >>/etc/sysctl.conf
sysctl -p

# 以上操作重启失效,可以按下操作配置下次开机生效,顺便设置redis开机自启动

echo " " >> /etc/rc.local
echo "# redis-server by zs in $(date +%F)" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo 511 > /proc/sys/net/core/somaxconn" >>/etc/rc.local
echo "/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf" >> /etc/rc.local
tail -5 /etc/rc.local

# 继续优化配置文件

vim /usr/local/redis/conf/redis.conf

# 在配置文件中寻找以下关键字,可以按照以下内容修改:

daemonize yes                                # 是否后台运行,yes为后台运行
pidfile /usr/local/redis/logs/redis.pid      # redis的pid文件保存位置
port 6379                                    # redis监控端口
bind 0.0.0.0                                 # redis监控的IP
timeout 0                                    # 客户端连接关闭时服务端保持连接的时长,超时
                                             # 0为不断开连接,等待客户端再次连接
logfile "/usr/local/redis/logs/redis.log"    # 日志文件保存位置
dbfilename redis.rdb                         # redis数据文件名
dir /usr/local/redis/data/                   # redis数据保存位置
appendonly yes                               # 是否写日志,类似于mysql的bin-log

以上为简单的redis优化配置

相关内容

热门资讯

神舟二十三号载人飞船发射升空 IT之家 5 月 24 日消息,刚刚,搭载神舟二十三号载人飞船的长征二号 F 遥二十三运载火箭在酒泉...
浙江上线“创新积分制”数智平台 来源:中国新闻网 中新网杭州5月24日电(鲍梦妮)5月24日,在2026年浙江省“全国科技活动周”上...
国内知名冷门绝学大咖齐聚深圳,... 本文转自【光明日报】; 5月22日上午,作为2026文化强国建设高峰论坛重要组成部分,首届冷门绝学传...
神舟二十三号载人飞行任务航天员... 据微信公众号“中国载人航天”消息,5月24日20时16分,神舟二十三号载人飞行任务航天员乘组出征仪式...
以总理:同特朗普一致认为须消除... 新华社耶路撒冷5月24日电(记者庞昕熠 王卓伦)以色列总理内塔尼亚胡24日在社交平台发文称,他和美国...
专家解读|秉持以人为本 统筹发... 随着大模型、生成式人工智能、智能体等技术的迭代创新,人工智能正在进入加速应用的新阶段,由此引发的社会...
原创 v... vivo在5月份的新机继续增加,比如vivo S60系列、vivo Y600 Turbo等,均在5月...
“暗面”之下:山西沁源82死矿... 山西省沁源县,留神峪煤矿。5月23日傍晚,作业现场已被拦住,你只能在矿区门口看到一道栅栏,背后封锁着...
神二十三发射任务将创下多个“首... 神舟二十三号即将发射,现场各项准备工作如何?凤凰卫视特派记者孙伟健从酒泉卫星发射中心发回现场报道。
山西留神峪煤矿事故调查:写满安... 5月22日19时29分,山西沁源的暮色尚未完全降临,有着45年开矿历史的通洲集团留神峪煤矿,骤然迎来...