ubuntu22安装redis7.0

活学活用,下午和GPT老师学习了使用systemctl,晚上就来搞个redis。

1.编译

安装libsystemd-dev库,没有装这个库的话会编译失败。
下面是离线安装的办法

sudo apt install --download-only  libsystemd-dev
cd /var/cache/apt/archives
# 把deb文件拷到要装的电脑
sudo dpkg -i *.deb

进入下载的tar包的路径

cd redis-7.0.11
make USE_SYSTEMD=yes PREFIX=/usr/local/redis install

两个参数比较好认,用systemd部署的时候一定要加上第一个,不然会报错:

systemd supervision requested or auto-detected, but Redis is compiled without libsystemd support!

第二个是指定路径,你不指定可以不加。

2.配置文件

网上说用./install_server.sh但是我装的时候报错:

This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

只能自己动手了,先改一下文件的权限,建几个会用到的文件夹。

sudo chown -R username /usr/local/redis/
mkdir data
mkdir conf
mkdir logs

把redis-7.0.11里面的配置文件考到conf路径下。
我修改了这几个地方:

# redis.conf
bind 0.0.0.0
daemonize yes
supervised systemd
logfile "/usr/local/redis/logs/redis.log"

redis-7.0.11/utils/systemd-redis_server.service文件拷到/etc/systemd/system/路径下。
我修改了这几个地方:

ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
User=youruser
WorkingDirectory=/usr/local/redis/data/

然后就是GTP教我的三行指令

sudo systemctl daemon-reload
sudo systemctl enable systemd-redis_server.service
sudo systemctl start systemd-redis_server.service

没有输出就是成功,可以用下面的指令测试一下:
redis-cli

redis 127.0.0.1:6379> ping
PONG

外部连接测试

测试用windows设备连接虚拟机上的redis时显示该问题:

DENIED Redis is running in protected mode because protected mode is enabled and no password is set for the default user.

很明显,你需要先关掉保护模式,redis作为一个内存级的数据库,一般不会需要别的服务器来调用,这样就失去他的意义了,没问题。

将配置文件里面的

protected-mode yes
改成
protected-mode no

你可能感兴趣的:(ubuntu,redis,数据库,java)