linux 下配置 redis开机自动启动
方法一
1、首先,新建一个系统服务文件 :
vim /etc/systemd/system/redis.service
2、然后,将下面的内容写入到系统服务文件中:
这里需要修改redis.conf中的daemonize yes,绑定IP 为127.0.0.1
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
# 这行配置内容要根据redis的安装目录自定义路径
ExecStart=/usr/local/redis-7.0.9/bin/redis-server /usr/local/redis-7.0.9/etc/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3、保存系统服务文件,然后输入命令,重载系统服务:
systemctl daemon-reload
4、执行下面的命令,实现开机自启
systemctl enable redis
5、然后重启服务器(reboot)
6、重新连接服务器,查看此时,redis 服务的状态:
systemctl status redis
方法二
测试过还是需要手动,没找到原因
1、设置redis.conf中daemonize为yes,确保守护进程开启。
2、编写开机自启动脚本
vi /etc/init.d/redis
看清楚目录,是在 etc/init.d下新建redis文件 ,为什么,因为 linux开机会 执行这个目录中的文件
编写脚本,本人不会,但网上有人会,拿来就好
#!/bin/sh # chkconfig: 2345 10 90 # description: Start and Stop redis PATH=/usr/local/bin:/sbin:/usr/bin:/bin #找到本机安装redis后,存放redis命令的目录 REDISPORT=6379 #redis的默认端口, 要和下文中的redis.conf中一致 EXEC=/usr/redisbin/redis-server #redis服务端的命令 REDIS_CLI=/usr/redisbin/redis-cli #redis客户端的命令 这两个一般都在 PATH目录下 PIDFILE=/var/run/redis.pid #reids的进程文件生成的位置 CONF="/usr/redisbin/redis.conf" #redis的配置文件所在的目录 #AUTH="1234" 这句没什么用可以不要 case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed." else echo "Starting Redis server..." $EXEC $CONF fi if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE exists, process is not running." else PID=$(cat $PIDFILE) echo "Stopping..." $REDIS_CLI -p $REDISPORT SHUTDOWN sleep 2 while [ -x $PIDFILE ] do echo "Waiting for Redis to shutdown..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac
编写完成,保存
修改文件的权限为 可执行的 chmod 775 /etc/init.d/redis
测试一下redis 的启动
/etc/init.d/redis start
启动成功
设置自动启动
chkconfig redis on
#chkconfig --add redis #chkconfig redis on #chkconfig --list //查看所有注册的脚本文件
重启服务器 reboot (要先打开服务 /etc/init.d/redis start)