阿里云ECS安装的redis服务器,用java代码去连接报错。
import redis.clients.jedis.Jedis; /** * Hello world! * */ public class App { public static void main( String[] args ) { Jedis jedis = new Jedis("47.254.29.200",6379); //jedis.auth("123456"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务正在运行: "+jedis.ping()); } }
1: 连接的代码如上。首先报错是连接超时,这个问题是阿里云安全组策略。
2:第二个问题是/opt/redis-4.06/src下面启动./redis-server的时候,一定要带上配置文件
./redis-server ../redis.conf 否则redis就是按默认的配置启动,至于默认的配置是什么,我也不清楚。
3:../redis.conf 配置文件需要设置两个地方。
#bind 127.0.0.1 将这个注释掉,否则外网是没法访问redis的
requirepass 123456 redis外网访问,一定要设置授权。
4:防火墙中添加6379端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
service iptables start 重启防火墙
service iptables status 查看防火墙状态。