redis 源码编译安装
redis 官方网址:http://www.redis.io
一、准备环境
unbuntu 版本及环境
# 安装源码编译工具 配置工具等环境
sudo apt install gcc make pkg-config -y
二、下载解压安装
下载解压安装
# 下载
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
# 解压
tar -zxvf redis-6.2.5.tar.gz
# 进入解压后的目录
cd reids-6.2.5
# 编译生成并安装 如果没有/usr/local/redis目录 会自己创建,注意PREFIX必须为大写
sudo make PREFIX=/usr/local/redis install
#安装完成后 /usr/local/redis/bin目录下
cd /usr/local/redis
sudo mkdir data logs conf 建立相关的目录
redis官方参考安装说明wget https://download.redis.io/releases/redis-6.2.5.tar.gz 下载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zwNQTDSm-1633609008545)(assets/image-20211001214758209.png)]
三、常用配置redis.conf
cd /usr/local/redis
sudo mkdir logs data conf #建立相关的目录
sudo cp redis.conf /usr/local/redis/conf #复制配置文件到软件配置目录下
sudo vim /usr/local/redis/conf/redis.conf #修改配置文件
75 bind 127.0.0.1 -::1 注释此行
#bind 127.0.0.1 -::1
94 protected-mode yes 修改为
protected-mode no
98 port 6379 此行不用修改
257 daemonize no 修改为
daemonize yes
289 pidfile /var/run/redis_6379.pid 此行不变和/etc/systemd/system/redis.service内容一样
302 logfile "" 修改为
logfile "/usr/local/redis/logs/redis.log"
431 dbfilename dump.rdb 此行不变,为数据库名
454 dir ./ 修改为
dir /usr/local/redis/data/
901 # requirepass foobared 修改为取消注释,设置密码
requirepass 123456
四、系统启动服务
cd /etc/systemd/system
sudo vim redis.service 建立服务配置文件
[Unit]
Description=Advanced key-value store
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecStop=/bin/kill -s TERM $MAINPID
PIDFile=/var/run/redis_6379.pid
Restart=always
RestartSec=5s
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=redis.service
sudo reboot #重新启动系统,查看服务及程序目录
五、ufw防火墙设置
webrx@us:~$ sudo ufw status
[sudo] password for webrx:
Status: inactive
webrx@us:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
webrx@us:~$ sudo ufw status
Status: active
webrx@us:~$ sudo systemctl status ufw
● ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2021-10-01 13:04:16 UTC; 42min ago
Docs: man:ufw(8)
Process: 507 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
Main PID: 507 (code=exited, status=0/SUCCESS)
Warning: journal has been rotated since unit was started, output may be incomplete.
webrx@us:~$ sudo ufw allow ssh
Rule added
Rule added (v6)
webrx@us:~$ sudo ufw allow 6379/tcp
Rule added
Rule added (v6)
webrx@us:~$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
6379/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
6379/tcp (v6) ALLOW Anywhere (v6)
webrx@us:~$
六、数据库测试
6.1 本机测试
6.2 远程测试
?