在ubtntu系统上安装redis踩坑
# 更新软件源(可选,但能避免安装失败)
sudo apt update
# 安装gcc和编译依赖(包含make等工具)
sudo apt install gcc build-essential -y
先安装一个gcc
看看gcc --version有没有数据
wget https://mirrors.huaweicloud.com/redis/redis-7.2.4.tar.gz
tar -zxvf redis-7.2.4.tar.gz -C /usr/local/ #解压到usr的local文件夹里
make && make install PREFIX=/usr/local/redis #进行编译和安装
make distclean && make #如果遇到「jemalloc /jemalloc.h」报错,执行这个代码
使用vim编辑器打开配置文件,命令为vim /usr/local/redis/bin/redis.conf,修改以下关键配置项:
daemonize yes:设置为后台运行。
bind 0.0.0.0:允许远程连接,生产环境需注意安全。
requirepass yourpassword:设置访问密码。
新建服务文件,命令为vim /etc/systemd/system/redis.service,写入以下内容:
[Unit]
Description=Redis Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
启用服务,执行命令
systemctl daemon-reload #重启
systemctl start redis #启动
systemctl enable redis #查看运行状态
我这边是遇到报错了,需要先创建redis的权限
mkdir -p /var/lib/redis # 创建数据目录
chown -R redis:redis /var/lib/redis # 设置权限
mkdir -p /var/log/redis
chown -R redis:redis /var/log/redis
在/usr/local/redis/bin/redis.conf增加了一个
protected-mode no #关闭保护模式
编辑/etc/sysctl.conf,添加:
vm.overcommit_memory=1 #系统内存过度提交机制开启
然后执行sysctl -p使其永久生效。
pkill redis-server
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
#再把密码什么的重新设置一下
/usr/local/redis/bin/redis-cli
127.0.0.1:6379> CONFIG SET requirepass "123456"
127.0.0.1:6379> CONFIG SET protected-mode no
127.0.0.1:6379> CONFIG REWRITE
在用密码链接尝试一下
/usr/local/redis/bin/redis-cli -a 123456
127.0.0.1:6379> ping # 应返回PONG
终于搞好了,完结撒花
