【学习笔记15】如何在非root服务器中,安装属于自己的redis

一、下载安装包

  • 官网下载
  • 黑马程序员给的安装包(redis-6.2.6

二、将安装包上传至服务器

  • 我将安装包上传在我的文件夹/home/XXX,指定路径中/src/local/redis/,绝对路径为/home/XXX/src/local/redis/
  • 解压安装包
bash 复制代码
XXX@omega:~$ cd /home/XXX/src/local/redis/
XXX@omega:~/src/local/redis$ tar -zxvf redis-6.2.6.tar.gz

三、安装

  • 编译:进入解压的安装包进行编译
bash 复制代码
XXX@omega:~/src/local/redis$ cd redis-6.2.6
XXX@omega:~/src/local/redis/redis-6.2.6$ make
  • 编译完成后,你将在/home/XXX/usr/local/redis/redis-6.2.6/src/目录中找到redis-serverredis-cli两个可执行文件。

  • 安装到指定路径

bash 复制代码
XXX@omega:~/src/local/redis/redis-6.2.6$ cd ..
XXX@omega:~/usr/local/redis$ mkdir install
XXX@omega:~/usr/local/redis$ cd redis-6.2.6/src
XXX@omega:~/usr/local/redis/redis-6.2.6/src$ make PREFIX=usr/local/redis/install/ install   # PREFIX是安装路径
  • 配置文件路径
    安装成功后, 在新创建的文件夹下会生成一个bin目录, 我们在同路径下创建一个etc文件夹, 用于放置配置文件。
bash 复制代码
XXX@omega:~/usr/local/redis/redis-6.2.6/src$ cd /home/XXX/usr/local/redis/install
XXX@omega:~/usr/local/redis/install$ mkdir etc
  • 拷贝配置文件:复制redis-6.2.6/redis.confetc
bash 复制代码
XXX@omega:~/usr/local/redis/install$ cp ../redis-6.2.6/redis.conf etc/redis.conf
  • 改配置:编辑etc/redis.conf,找到相应的属性进行修改
bash 复制代码
# bind 127.0.0.1 -::1 -> bind 0.0.0.0
bind 0.0.0.0  # 本机访问改为所有ip都可以访问
# daemonize no -> daemonize yes
daemonize yes  # 前台(no)运行改为后台运行(yes)
# equirepass foobared -> requirepass 123321
requirepass 123321  # 设置密码为123321

四、测试是否安装成功

  • 使用redis-server开启redis,使用redis-cli测试是否可以连接,ping得到PONG成功。
bash 复制代码
XXX@omega:~$ redis-server
XXX@omega:~$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit
  • 查看是否在后台运行,发现运行的是/snap/redis/1574/usr/bin/redis-server,这应该是服务器之前安装过的redis。
bash 复制代码
XXX@omega:~$ ps -ef |grep redis
root     1135148       1  0 1月17 ?       00:29:21 /snap/redis/1574/usr/bin/redis-server *:6379
XXX      1195585       1  0 13:09 ?       00:00:00 /home/XXX/usr/local/redis/install/bin/redis-server 0.0.0.0:6 380
  • 使用绝对路径开启redis,并连接,同样ping成功。
bash 复制代码
XXX@omega:~$ /home/XXX/usr/local/redis/install/bin/redis-server /home/XXX/u sr/local/redis/install/etc/redis.conf
XXX@omega:~$ /home/longyy/usr/local/redis/install/bin/redis-cli 
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
  • 查看是否在后台运行:原始的/snap/redis/1574/usr/bin/redis-server *:6379和我们安装的
    /home/XXX/usr/local/redis/install/bin/redis-server 0.0.0.0:63都在运行。
bash 复制代码
XXX@omega:~$ ps -ef | grep redis
root  1135148       1  0 1月17 ?       00:29:26 /snap/redis/1574/usr/bin/redis-server *:6379
XXX   1195585       1  0 13:31 ?       00:00:00 /home/XXX/usr/local/redis/install/bin/redis-server 0.0.0.0:63
XXX   1203799 1194305  0 13:31 pts/0   00:00:00 grep --color=auto redis

五、别名替换

  • 为了方便运行,我们设置别名替换,在.bashrc文件中加入以下语句
bash 复制代码
# redis
alias my-redis-server='/home/XXX/usr/local/redis/install/bin/redis-server /home/XXX/usr/local/redis/install/etc/redis.conf'
alias my-redis-cli='/home/XXX/usr/local/redis/install/bin/redis-cli --raw'
  • 使用别名运行
bash 复制代码
XXX@omega:~$ kill -9 1195585
XXX@omega:~$ ps -ef |grep redis
root     1135148       1  0 1月17 ?       00:29:25 /snap/redis/1574/usr/bin/redis-server *:6379
XXX      1203359 1194305  0 13:30 pts/0    00:00:00 grep --color=auto redis
XXX@omega:~$ source .bashrc
XXX@omega:~$ my-redis-server
XXX@omega:~$ ps -ef | grep redis
root  1135148       1  0 1月17 ?       00:29:26 /snap/redis/1574/usr/bin/redis-server *:6379
XXX   1203707       1  0 13:31 ?        00:00:00 /home/XXX/usr/local/redis/install/bin/redis-server 0.0.0.0:63
XXX   1203799 1194305  0 13:31 pts/0    00:00:00 grep --color=auto redis

参考

黑马程序员Redis入门到实战教程-P4 安装Redis
Linux系统非root用户通过wget安装redis
一台linux怎样配置多个redis
不用root安装redis

相关推荐
大明者省2 分钟前
Ubuntu22.04 宝塔面板与 XFCE 远程桌面端口兼容性分析
运维·服务器·数据库·笔记
Harm灬小海23 分钟前
【云计算学习之路】学习Centos7系统-Linux软件包管理
linux·运维·服务器·学习·云计算·yum·rpm
1892280486125 分钟前
NY379固态MT29F32T08GSLBHL8-36QA:B
大数据·服务器·人工智能·科技·缓存
无小道1 小时前
Redis——哈希类型相关指令
redis·算法·哈希算法
谪星·阿凯1 小时前
Linux提权全攻略博客
linux·运维·服务器·网络安全
带带弟弟学爬虫__1 小时前
dyAPP数据采集-个人主页、发布、搜索、评论
服务器·python·算法·flutter·java-ee·django
Shadow(⊙o⊙)1 小时前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
funnycoffee1231 小时前
华为S5736交换机3层ECMP负载方式
linux·服务器·数据库
上海云盾-小余1 小时前
内网终端安全管控:筑牢企业内部网络入侵防火墙
服务器·网络·安全
SparkleN.1 小时前
/tmp/cargo/env:No such file or directory
运维·服务器