linux-CentOS下redis安装部署
1、由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
# yum -y install gcc
# yum -y install gcc-c++
2、下载redis并解压安装包 并上传至服务器,下载地址:https://redis.io/download/
[root@mesnosql ~]# tar -zxvf redis-6.2.6.tar.gz
(根据自己下载的版本,自行修改命令)
3、cd切换到redis解压目录下编译
[root@mesnosql ~]# cd redis-6.2.6
[root@mesnosql ~]# make
注意:龙蜥(银河麒麟等国产操作系统)操作系统执行 make test
make test 成功 如上截图
4、安装并指定安装目录
[root@mesnosql ~]# make install PREFIX=/usr/local/redis
5、从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
[root@mesnosql ~]# cp /uuf/redis-6.2.6/redis.conf /usr/local/redis/bin/
6、修改redis.conf配置文件
[root@mesnosql ~]# vim /usr/local/redis/bin/redis.conf
(1)bind 前面加# 注释掉 ;不限定ip访问。默认只能本机访问
(2) protected-mode 设置成no(默认是设置成yes的, 防止了远程访问,在redis3.2.3版本后)
(3)修改Redis默认密码 (默认密码为空)
在配置文件中找到这一行 # requirepass foobared
删除前面的注释符号#,并把foobared修改成自己的密码 或者 另起一行 requirepass 自己的密码
(4)修改redis端口,默认为6379,可修改为其他端口
daemonize是用来指定redis是否要用守护线程的方式启动。默认是no,改为yes
7、启动redis
[root@mesnosql bin]# ./redis-server redis.conf
8、设置Redis开机启动
[root@mesnosql bin]# vi /etc/systemd/system/redis.service
复制粘贴以下内容:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
【Esc】 输入:wq 保存退出
注意:ExecStart配置成自己的路径
[root@mesnosql bin]# systemctl daemon-reload
[root@mesnosql bin]# systemctl start redis.service
[root@mesnosql bin]# systemctl enable redis.service
------------------------------------------------------------------------------------------------------
服务操作命令
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动。
=========================================================
2023年11月24日: 银河麒麟V10,安装后启动报错如下:
[root@ltxweb bin]# ./redis-server redis.conf
32906:C 24 Nov 2023 16:00:00.488 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. 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.
解决:
[root@ltxweb bin]# echo 1 > /proc/sys/vm/overcommit_memory
==========================================================
安装redis报错解决:(龙蜥操作系统8.0)
which: no python3 in (/usr/local/java/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/bin:/root/bin)
make[1]: Entering directory `/home/redis-7.0.5/src'
未找到python3
解决:
whereis python
创建软链接:
ln -s /usr/bin/python2.7 /usr/bin/python3
make 报错:
输入命令:make test
报错:
查看是否安装了tcl
未安装,进行安装
进入home目录:wget http://mirror.centos.org/centos/7/os/x86_64/Packages/tcl-8.5.13-8.el7.x86_64.rpm
安装:rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
进入 redis安装目录,继续执行 make test 成功