技术文摘
Linux 如何设置 redis 自启动
2025-01-14 23:01:02 小编
Linux 如何设置 redis 自启动
在 Linux 环境中,让 redis 自启动可以确保在服务器重启后,redis 服务能够自动运行,避免手动启动的麻烦。以下将详细介绍几种在 Linux 系统中设置 redis 自启动的方法。
使用 systemd 服务管理工具(适用于大多数现代 Linux 发行版,如 CentOS 7、Ubuntu 18.04 及以上)
- 创建 redis 服务单元文件:打开终端,使用 root 权限创建一个新的服务单元文件,命令如下:
sudo nano /etc/systemd/system/redis.service。在打开的文件中,输入以下内容:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
User=redis
[Install]
WantedBy=multi-user.target
这里需要注意,ExecStart 中的路径要根据你实际安装的 redis 路径进行调整。
2. 保存并退出:按 Ctrl + X,然后按 Y,再按 Enter 保存并退出文件。
3. 重载 systemd 守护进程:让 systemd 重新加载服务配置,执行命令:sudo systemctl daemon-reload。
4. 设置开机自启并启动 redis 服务:分别执行 sudo systemctl enable redis 和 sudo systemctl start redis 命令。你可以通过 sudo systemctl status redis 查看服务状态。
使用 chkconfig 命令(适用于较旧的 Linux 发行版,如 CentOS 6)
- 确保 redis 安装目录在系统路径中:如果没有在路径中,需要将 redis 安装目录添加到
PATH环境变量中。 - 创建启动脚本:创建一个名为
redis的启动脚本,路径为/etc/init.d/redis,内容如下:
#!/bin/bash
# chkconfig: 2345 80 90
# description: Redis startup script
REDISPORT=6379
REDISCONFIG="/etc/redis/redis.conf"
REDISEXEC="/usr/local/bin/redis-server"
REDISCLIEXEC="/usr/local/bin/redis-cli"
case "$1" in
start)
if [ -f /var/run/redis_${REDISPORT}.pid ]; then
echo "Redis is already running"
else
echo "Starting Redis server..."
$REDISEXEC $REDISCONFIG
fi
;;
stop)
if [ -f /var/run/redis_${REDISPORT}.pid ]; then
PID=$(cat /var/run/redis_${REDISPORT}.pid)
echo "Stopping Redis server..."
$REDISCLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]; do
sleep 1
done
else
echo "Redis is not running"
fi
;;
*)
echo "Usage: /etc/init.d/redis {start|stop}"
exit 1
;;
esac
exit 0
- 设置脚本权限:执行
chmod +x /etc/init.d/redis使其可执行。 - 添加到开机自启:执行
chkconfig --add redis和chkconfig redis on命令。
通过以上方法,你就可以在不同的 Linux 系统中轻松设置 redis 自启动,保障 redis 服务的稳定运行。