在vm虚拟机ContOs64拉的6.3下安装redis-2.6.12发现在linux下可以用127.0.0.1来访问
我在win7下用C#来访问发现不可以
我测试的代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ServiceStack.Common.Extensions;
using ServiceStack.Redis;
using ServiceStack.Redis.Generic;
using ServiceStack.Text;
using ServiceStack.Redis.Support;
namespace CaoHuanSystem
{
public partial class frmRedis : Form
{
public frmRedis()
{
InitializeComponent();
}
protected RedisClient Redis = new RedisClient("172.16.1.200", 6379);
private void button1_Click(object sender, EventArgs e)
{
//string myname = Redis.Get<string>("myname");
Redis.Set("myname", "xxx");
}
}
}
会提示没办法联接到172.16.1.200:6379
请问高手们是那里出问题了,ping的通172.16.1.200
第一:有个配置 bind 127.0.0.1 注释掉,这个只能本机访问;
第二:ifconfig 一下看看linux的地址,应该是你win上的vm8的网卡地址,redisClient(linux的地址,6379);
第三:你可以用VirtualBox做端口映射[可以直接导入vm盘],直接把虚拟机的端口映射为宿主机的端口.
bind 127.0.0.1 注释掉已经注掉的。我是ifconfig查过是172.16.1.200不是win的网卡地址。我在linux还可以上网的,是正常的.目前使用是vm虚拟机,桥接模式。
1、请将redis的配置bind 127.0.0.1换成远程地址172.16.1.200;
2、加载redis配置,redis-server 配置文件路径;
3、然后通过redis-cli -h 172.16.1.200 -p 6379 来查看是否能连接redis server
解决了,可能是端口问题我把端口改成6479然后再开放在iptables里再开放这个端口就可以了。太神了