在服务器上,配置redis可以外网访问

首先linux开放默认端口6379
打开redis配置文件redis-conf
注释掉
bind 127.0.0.1(默认只有本地主要才能访问)这个注释掉
现在处于受保护的状态,外网连不上,因为没有密码

 

在服务器上,这里以linux服务器为例,为redis配置密码。

1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

(1)首先进入redis,如果没有开启redis则需要先开启:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379
127.0.0.1:6379> 
(2)查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
(3)为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass abcdefg
OK
127.0.0.1:6379> 
(4)再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>

2.第二种方式 (永久方式)
需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:

修改redis.conf配置文件  

# requirepass foobared
requirepass 123   指定密码123

保存后重启redis就可以了

 

连接redis

1.redis-cli连接redis

[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123        //指定密码
OK
127.0.0.1:6379> keys *
1) "a"
2) "cit"
3) "clist"
4) "1"
127.0.0.1:6379>

 

2.Jedis连接redis
java 代码方式

//连接redis服务器,192.168.0.100:6379
 jedis = new Jedis("ip", 6379);
 //权限认证
jedis.auth("password");

 

配置文件方式

<bean id=”jedisConnectionFactory”
class=”org.springframework.data.redis.connection.jedis.JedisConnectionFactory”>
<property name=”hostName” value=”${redis.host}” />
<property name=”port” value=”${redis.port}” />
<property name=”password” value=”${redis.pass}” />
</bean>

 

 

redis的其他命令。
如果需要关闭redis:
[root@iZ94jzcra1hZ bin]# pkill redis
如果需要开启redis:
[root@iZ94jzcra1hZ bin]# redis-server &
加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。

 

ps:

百度之后发现 Centos 7.3 无法使用iptables控制Linux的端口(修正:这里不是不能使用iptables控制端口,而是centos7默认使用了firewalld,但我们一样能安装iptables来控制端口),而是用firewalld 代替了原来的iptables。

posted @ 2018-04-16 13:14  andy-alone  阅读(5639)  评论(0编辑  收藏  举报