ubuntu20 安装redis

wget http://download.redis.io/releases/redis-xxx.tar.gz
tar -xvf redis-xxx.tar.gz
cd redis-xxx
sudo mkdir /usr/local/redis
sudo make
sudo make PREFIX=/usr/local/redis install
sudo mkdir /usr/local/redis/etc
sudo cp ~/redis-xxx/redis.conf /usr/local/redis/etc


mkdir -p /usr/local/redis/logs
touch /usr/local/redis/logs/redis.log

 vi /usr/local/reids/etc/redis.conf

logfile "/usr/local/redis/logs/redis.log"
## 若使用开机启动,生成pid,该项必须设置为诶yes,否则redis将不能够正常执行开机启动(systemctl start redis,执行后一直卡着,直到超时)
daemonize yes
##注释掉,允许所有其他ip访问,真实使用最好坐下限制,只允许某些主机访问
#bind 127.0.0.1
## 允许其他机器上的客户端连接当前redis,配置文件设置该项,则开机启动处就可以去掉--protected no
protected-mode no
## db保存路径,由于db持久化到磁盘,占用空间可能比较大,所以选择比较打的文件夹设置
dir /usr/local/redis/
##设置密码
requirepass 12345
##0.75G
maxmemory 751619276
maxmemory-policy volatile-lru

vi /etc/systemd/system/redis.service

[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf --protected-mode no
ExecStop=/usr/local/redis/bin/redis-cli shutdown
#Restart=always
Type=forking
#User=redis
#Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

Restart取值及含义
no(默认值):退出后不会重启
on-success:只有正常退出时(退出状态码为0),才会重启
on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启
on-abnormal:只有被信号终止和超时,才会重启
on-abort:只有在收到没有捕捉到的信号终止时,才会重启
on-watchdog:超时退出,才会重启
always:不管是什么退出原因,总是重启

Type字段取值及含义
simple(默认值):ExecStart字段启动的进程为主进程
forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
dbus:类似于simple,但会等待 D-Bus 信号后启动
notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合

posted @ 2020-12-11 16:19  boybai  阅读(27)  评论(0编辑  收藏  举报