阿里云服务上面部署redis + 本地Redis客户端连接方法 + 配置redis服务
本文结合自己在阿里云服务器上面搭建redis服务器,在本地redis的客户端Redis Desktop Manager连接成功的操作,将操作中的一些方法做了一些归纳和总结,希望可以帮到有需要的同学。
一、在阿里云服务器上面安装redis:
进入local目录将redis安装在此文件夹目录下:cd /usr/local
wget http://download.redis.io/releases/redis-4.0.9.tar.gz (最好安装5.0.9版本,命令都相同)
tar xzf redis-4.0.9.tar.gz //解压
cd redis-4.0.9
make //编译
其中redis-server是用来启动服务用的,redis-cli是用来启动客户端用的
启动服务端:cd src ./redis-server 出现redis图形界面表示安装成功 crtl+c 会退出redis
./redis-server ../redis.conf & 表示后台守护进程启并指定读取的redis配置文件
nohup ./redis-server ../redis.conf & 表示后台守护进程启并指定读取的redis配置文件,并且忽略日志输出到nohup.out
启动客户端:./redis-cli
二、阿里云服务器上面添加安全规则
在安全组规则中添加6379 redis端口,不然无法访问
三、设置redis客户端连接密码
进入redis :
[root@iZ254lfyd6nZ src]# ./redis-cli //进入redis
127.0.0.1:6379> get name //获取 "tanglei1234" 127.0.0.1:6379> config get requirepass //查询密码 1) "requirepass" 2) ""
127.0.0.1:6379> 设置密码输入auth +空格+ 设置的密码(密码最好勿以特殊符号开头)
OK
注:如果出现(error) ERR Client sent AUTH, but no password is set 需要先执行 config set requirepass +密码 再执行auth +密码
127.0.0.1:6379> config get requirepass //设置完密码需要使用密码登录
(error) NOAUTH Authentication required.
注意:阿里云上部署的redis需要设置密码,这样本地redis的客户端Redis Desktop Manager才可以连上,添加的时候要填写密码。
解决(error) NOAUTH Authentication required.方法如下:
(1)查看redis.conf文件:vim redis.conf,打开配置文件后,输入/#requirepass foobared(快速查找)
加上 requirepass + 你的密码(如图所示)
注:修改完配置文件必须重启redis服务:可以先找到进程PID kill掉,再重新执行 ./redis-server ../redis.conf &
(2)修改配置文件:bind 127.0.0.1 注释掉 (表示允许远程连接,不只是在本地连接)
(3)使用密码连接,命令:./redis-cli -h 127.0.0.1 -p 6379 -a 密码
(4)此时就没有再提示:(error) NOAUTH Authentication required.
(5)本地redis工具连接
(6)如果服务器安全组已经开放6379,还是无法远程连接,请检查防火墙状态:
service iptables status 如果开启执行 service iptables stop
systemctl status firewalld.service 如果开启执行 systemctl disable firewalld.service
参考地址:https://blog.csdn.net/nings666/article/details/130302844
四、设置服务
可以看到如果我们启动redis服务的话,每次都要进入到安装目录,这样是不是很繁琐,所以我们将redis做成一个服务,我们直接启动。
(设置服务前如果redis服务在开着 要先关闭redis服务 不然后面生成不了redis-6379.pid,可以查看redis服务进程 关闭杀死resid服务)
首先将utils/redis_init_script文件复制到/etc/init.d下,同时易名为redis。执行命令
cp /usr/local/redis-4.0.9/utils/redis_init_script /etc/init.d/redis
然后在执行命令,
vim /etc/init.d/redis,并在文档第二行添加 # chkconfig: 2345 80 90。
如果/usr/local/redis/bin中没有redis-server和redis-cli文件的话,我们要在我们的安装目录下复制一个过来。否则服务启动时找不到redis-server。
下图第二个红框所示。并且在第三个$EXEC $CONF 后边加一个&,表示让redis作为后台服务启动,否则该服务会独占输入屏。
可以看到在/etc/init.d/redis文件中有这么一行:CONF="/etc/redis/${REDISPORT}.conf"。于是将redis配置文件拷贝到/etc/redis/下 。
mkdir /etc/redis cp /usr/local/redis-4.0.9/redis.conf /etc/redis/6379.conf
完成上面的操作之后,即可注册服务:
chkconfig --add redis
然后启动redis服务
service redis start //开启redis服务
这样我们就将redis服务注册好了。
如果service redis stop //停止redis服务 ,你会发现他提示/var/run/redis_6379.pid does not exist, process is not running 这说明在run下没有这个文件,我们进入到/var/run下发先真的没有这个文件,但是有redis.pid文件。
我们我们要将/etc/init.d/redis 文件中的redis_${REDISPORT}.pid修改为redis.pid。
这样我们重启服务后,在用该命令关闭就可以了。到这里我们的redis服务就安装好了,并做好了一个服务