背景描述

今天在看redis的内容,看到同事在配置文件中将bind配置为0.0.0.0进行监听,不明白什么意思就查询了下,在此记录下。

解释

0.0.0.0在服务器的环境中,指的就是服务器上所有的ipv4地址,如果机器上有2个ip 192.168.30.10 和 10.0.2.15,redis在配置中,如果配置监听在0.0.0.0这个地址上,那么,通过这2个ip地址都是能够到达这个redis服务的。同时呢,访问本地的127.0.0.1也是能够访问到redis服务的。

测试验证:

1.绑定到0.0.0.0

[aiprd@hadoop1 redis]$ src/redis-server ./redis.conf
[aiprd@hadoop1 redis]$ ps -ef | grep redis
aiprd : ? :: src/redis-server 0.0.0.0:
aiprd : pts/ :: grep redis

2.本地ip地址

[aiprd@hadoop1 redis]$ ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::8b:7e brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/ brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fe21:8b7e/ scope link
valid_lft forever preferred_lft forever
: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :::9f::be brd ff:ff:ff:ff:ff:ff
inet 192.168.30.10/ brd 192.168.30.255 scope global eth1
inet6 fe80::a00:27ff:fe9f:16be/ scope link
valid_lft forever preferred_lft forever

备注:本地地址127.0.0.1、10.0.2.15、192.168.30.10

3.分别通过3个ip地址进行访问

[aiprd@hadoop1 redis]$ src/redis-cli
127.0.0.1:> auth yksSLR7AU#7G6Wz
OK
127.0.0.1:> exit
[aiprd@hadoop1 redis]$
[aiprd@hadoop1 redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 10.0.2.15
10.0.2.15:> auth yksSLR7AU#7G6Wz
OK
10.0.2.15:> exit

备注:通过3个地址是都能够访问的。

4.绑定到192.168.30.10地址上

[aiprd@hadoop1 redis]$ src/redis-server ./redis.conf
[aiprd@hadoop1 redis]$ ps -ef | grep redis | grep -v grep
aiprd : ? :: src/redis-server 192.168.30.10:

5.分别通过以上的地址进行访问

[aiprd@hadoop1 redis]$ src/redis-cli
Could not connect to Redis at 127.0.0.1:: Connection refused
Could not connect to Redis at 127.0.0.1:: Connection refused
not connected> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 10.0.2.15
Could not connect to Redis at 10.0.2.15:: Connection refused
Could not connect to Redis at 10.0.2.15:: Connection refused
not connected> exit
[aiprd@hadoop1 redis]$ src/redis-cli -h 192.168.30.10
192.168.30.10:> auth yksSLR7AU#7G6Wz
OK
192.168.30.10:>

备注:发现绑定到192.168.30.10之后,只有这个地址是可以访问,但是呢,访问127.0.0.1都是访问不到的。

小结

所以:综上,如果绑定到0.0.0.0那么所有机器上的地址都可以访问服务,如果绑定到特定的ip那么只能是特定的ip能够到达redis服务。

文档创建时间:2019年5月27日11:48:12

bind 0.0.0.0的作用是什么呢?的更多相关文章

  1. “#if 0/#if 1 ... #endif”的作用

    1. "#if 0/#if 1 ... #endif"的作用,我们知道,C标准不提供C++里的"//"这样的单行风格注释而只提供"/* */" ...

  2. <meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">的作用

    本人对该标签理解不深,这里是复制了穆乙的文章:如果有人进来看到这篇文章,请按此https://www.cnblogs.com/pigtail/archive/2013/03/15/2961631.ht ...

  3. c语言中“#if 0 / #if 1 ... #endif”的作用

    原帖地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=2028608&bbs_page_no=1005&bbs_id=9999 1. ...

  4. (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)

    (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 更新:ios4.1现在已经将这个做到SDK了.你可以设置键盘类型为UIKeyboardTypeDecimal ...

  5. 探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用

    前言 首先说明这并不是一个教程贴,而记事本应用是网上早有的案例,对于学习 vuex 非常有帮助.我的目的是探索 vuex 2.0 ,然后使用 vue 2.0 + vuex 2.0 重写这个应用,其中最 ...

  6. ip地址0.0.0.0与127.0.0.1的区别(转载)

    原文链接:http://blog.csdn.net/ttx_laughing/article/details/58586907 最近在项目开发中发现一个奇怪的问题,当服务器与客户端在同一台机器上时,用 ...

  7. 用webpack2.0构建vue2.0超详细精简版

    初始化环境 npm init -y 初始化项目 安装各种依赖项 npm install --save vue 安装vue2.0 npm install --save-dev webpack@^2.1. ...

  8. 用webpack2.0构建vue2.0单文件组件超级详细精简实例

    npm init -y 初始化项目  //-y 为自动生成package.json,如果需要自行配置,去掉-y即可 安装各种依赖项 npm install --save vue 安装vue2.0 np ...

  9. 本机ip、127.0.0.1和0.0.0.0区别及内环流量

    本机ip.127.0.0.1和0.0.0.0区别及内环流量 所谓内环流量 简单的说是指 计算机内部,程序间通讯产生的流量,或者叫 本地流量,对应的是来自网络的流量. 比如,你安装了卡巴斯基,avast ...

  10. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari

    一.集群软硬件环境准备: 操作系统:  centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...

随机推荐

  1. android studio中为gradle指定cmake版本

    Android Studio相当于是Intellij基础上写了一个AS插件,这个插件使用gradle作为构建系统,因此构建出现问题先考虑gradle的文档. gradle可以使用native buil ...

  2. MySQL存储过程01

    过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个由返回值的’过程‘ 过程是没有返回值的函数 我们把若干条sql封装起来,起个名字---过程 把此过程存储在数据库中------存储过程 存储 ...

  3. kafka安装测试报错 could not be established. Broker may not be available.

    修改 config 下配置文件 vim server.properties 配置本机ip listeners=PLAINTEXT://192.168.174.128:9092 执行命令时 bin/ka ...

  4. 使用Arduino开发板和ESP8266从互联网读取数据

    ESP8266-01是一款很强大的模块,可以满足我们任何IOT项目的需求.自发布以来,它已经形成了一个很强大的群体,并演变成一个易于使用.价格低廉且功能强大的Wi-Fi模块.另一个更受欢迎的开源平台是 ...

  5. windows10访问ftp中文乱码怎么办?

    windows10访问ftp中文乱码怎么办? 打开控制面板 选择时间和区域 选择更改数字格式 点击管理并点击更改系统区域设置 打勾

  6. Python使用request包请求网页乱码解决方法

    使用requests请求网页时,返回的页面信息有时是乱码,如下代码 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) App ...

  7. 牛客1024B 石头游戏

    题目描述 石头游戏在一个 \(n\) 行 \(m\) 列 \((1\leq n,m \leq 8)(1≤n,m≤8)\) 的网格上进行,每个格子对应一种操作序列,操作序列至多有10种,分别用0~9这1 ...

  8. 使用postman开发testcases记录贴

    我使用了两个版本的postman: Postman-linux-x64-7.1.1 这是目前(2019)最新版本.这个版本也有坑: (因为系统崩溃重装了,所以目前只有最新版本.本文截图都是这个版本的截 ...

  9. 在linux中使用Sqlplus命令登录MySQL,查看表并设置行数和宽度,使其正常显示

    在linux中使用sqlplus命令进入MySQL,设置行数和行宽   1) 查看目前的pagesize,默认是14: 1.      show pagesize;    2.      set pa ...

  10. 如何使用project制定项目计划?(附详细步骤截图)

    使用project制定项目计划可以分为六个步骤,如下图(1): 图(1)-project制定项目计划步骤 下面我们就以project2010为例,按上图所示步骤对如何制定项目计划进行详细说明: 一.创 ...