标签:操作 exec localhost sbin 配置文件 $? sleep 连接 显示
# 通过终端命令解压
[root@localhost local]# tar -zxvf redis-6.2.4.tar.gz
# 重命令 redis,改不改问题不大,个人习惯
[root@localhost local]# tar -zxvf redis-6.2.4.tar.gz
# 注意 redis C语言开发 安装需要 gcc 环境,才能正常运行
[root@localhost local]# yum -y install gcc
# 进入 redis 中,执行命令
[root@localhost local]# cd redis
[root@localhost redis]# make
# 在进入到 src 中
[root@localhost redis]# cd src
[root@localhost src]# make install
# 开启 redis 服务
[root@localhost src]# ./redis-server
# 修改 redis.conf 配置文件
[root@localhost src]# vim /usr/local/redis/redis.conf
# 进入到 redis 中的 src 里,开启服务时,带上 redis 配置文件
[root@localhost src]# ./redis-server ../redis.conf
# 连接 redis 客户端,进行操作,显示地址和端口表示 redis 连接成功,可以使用
[root@localhost src]# ./redis-cli
127.0.0.1:6379>
# 综上,能够正常开启和连接服务,但是在windows中使用 RDM 或者 IDEA,就无法连接成功
# 原因是没有设置远程连接
# 修改 redis 配置文件
[root@localhost src]# vim /usr/local/redis/redis.conf
# 重启 redis 服务
[root@localhost src]# ./redis-server ../redis.conf
# 综上得到配置好还是远程连接不上,最后排查防火墙
[root@localhost local]# systemctl status firewalld.service
# 关闭防火墙
[root@localhost local]# systemctl stop firewalld.service
# 编写自启动脚本
# 注意在 /etc/init.d 中 编写 redis 文件,/etc/init.d 就是开机初始化文件夹
[root@localhost src]# vi /etc/init.d/redis
#!/bin/sh
# chkconfig: 2345 10 90
# description: Start and Stop redis
# 到本机安装redis后,存放redis命令的目录
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
# redis的默认端口, 要和下文中的redis.conf中一致
REDISPORT=6379
# redis服务端的命令
EXEC=/usr/local/redis/src/redis-server
# redis客户端的命令 这两个一般都在 PATH目录下
REDIS_CLI=/usr/local/redis/src/redis-cli
# reids的进程文件生成的位置
PIDFILE=/var/run/redis.pid
# redis的配置文件所在的目录
CONF="/usr/local/redis/redis.conf"
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
# 保存后,进入到 /etc/init.d 中
[root@localhost src]# cd /etc/init.d
# 查看文件权限
[root@localhost init.d]# ll
-rw-r--r--. 1 root root 18281 May 22 2020 functions
-rwxr-xr-x. 1 root root 10613 Jul 9 19:32 mysql
-rwxr-xr-x. 1 root root 4569 May 22 2020 netconsole
-rwxr-xr-x. 1 root root 7928 May 22 2020 network
-rw-r--r--. 1 root root 1160 Oct 2 2020 README
-rw-r--r--. 1 root root 1898 Jul 15 16:20 redis
# 修改 redis 文件权限
[root@localhost init.d]# chmod 755 redis
# 再次查看 redis 权限
-rw-r--r--. 1 root root 18281 May 22 2020 functions
-rwxr-xr-x. 1 root root 10613 Jul 9 19:32 mysql
-rwxr-xr-x. 1 root root 4569 May 22 2020 netconsole
-rwxr-xr-x. 1 root root 7928 May 22 2020 network
-rw-r--r--. 1 root root 1160 Oct 2 2020 README
-rwxr-xr-x. 1 root root 1898 Jul 15 16:20 redis
# 测试是否有效
[root@localhost init.d]# /etc/init.d/redis start
Starting Redis server...
Redis is running...
# 最后添加自启
[root@localhost init.d]# chkconfig --add redis
# 查看是否存在 redis
[root@localhost local]# rpm -qa | grep redis
[root@localhost local]# find / -name redis
/etc/selinux/targeted/active/modules/100/redis
/usr/local/redis
# 查看服务是否开启状态
[root@localhost local]# ps -ef | grep 6379
root 2854 1 0 14:31 ? 00:00:01 ./redis-server 0.0.0.0:6379
root 6970 1465 0 14:41 pts/0 00:00:00 grep --color=auto 6379
# 存在服务进程,将其杀死
[root@localhost local]# kill -9 2854
# 卸载 redis 服务
[root@localhost local]# rm -rf /etc/selinux/targeted/active/modules/100/redis
[root@localhost local]# rm -rf /usr/local/redis
标签:操作 exec localhost sbin 配置文件 $? sleep 连接 显示
原文地址:https://www.cnblogs.com/chenkeer/p/15016424.html