前言
前几天停电,电力恢复后各个服务启动,居然发现redis没有启动。看来设置我们的redis服务开机启动是很有必要的。
设置redis服务开机启动
创建redis的系统服务文件
通过命令vi /ect/systemd/system/redis.service
创建并编辑文件。复制以下内容:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/home/app/redis/bin/redis-server /etc/app/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
其中ExecStart
配置自己的redis安装路径和配置文件保存的路径。
重新加载系统服务
通过命令systemctl daemon-reload
重新加载系统服务;
注意:
- 我在使用系统服务管理redis前,是通过redis的命令已经启动了redis。因此先停止redis服务:
./redis-cli -p 6379 shutdown
;
通过systemctl命令管理redis服务
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
注意:
- 我在使用命令启动时,然后查看状态,发现报错提示:
WARNING Memory overcommit must be enabled! Without it, a back...
内核参数overcommit_memory 实现内存分配策略,可选值有三个:0、1、2
0 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则内存 申请失败,并把错误返回给应用进程
1 表示内核允许分配所有的物理内存,而不管当前的内存状态如何
2 表示内核允许分配超过所有物理内存和交换空间总和的内存
解决方法:
- 在系统配置文件夹增加参数并重新加载系统参数:
第一步:vim /etc/sysctl.conf
第二步:增加参数 vm.overcommit_memory = 1
第三步:刷新参数 sysctl -p
最后:通过命令启动redis即可。
设置开机启动
我们通过命令配置即可:
systemctl enable redis