1. 打开firewalld防火墙
systemctl start firewalld.service
2. 添加防火墙规则(对指定ip开放指定端口)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="103.85.85.xxx" port protocol="tcp" port="6379" accept"
3. 重启防火墙,使配置生效
systemctl restart firewalld.service
4. 查看配置结果,验证配置
firewall-cmd --list-all
5.修改redis.conf(可使用宝塔)
注释掉"bind 127.0.0.1" (此设置必需)
并将"protected-mode yes"改为"protected-mode no" (如果设置为yes必须使用密码参数,否则必须设置为no)
知识点扩展:如果protected-mode为yes,那么我们可以在Redis服务上设置bind,也就是我们的一台机器有几个ip,指定我们的服务绑定监听本机的哪个ip。
如果protected-mode为yes,除了设置bind外,亦可通过设置密码的形式,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
protected-mode设置为yes的情况下,为了我们的应用服务可以正常访问Redis,我们需要设置Redis的bind参数或者密码参数requirepass。
6.重启redis
7.php验证:
<?php
require_once $_SERVER["DOCUMENT_ROOT"].'/connections/dbcfg.php';
$redis = new Redis();
$redis->connect('103.45.163.xxx','6379');
if(redis_cfg){
$redis->auth(redis_pass); //如果有密码需要在这里设置
}
$keys = "cache_moban_demo";
$uinfo = $redis->get($keys);
echo $uinfo;
?>
浏览器访问会正常返回数据