美文网首页
2019-01-07 忘记设置本机ip和机器名的映射导致http

2019-01-07 忘记设置本机ip和机器名的映射导致http

作者: FredWorks | 来源:发表于2019-01-07 09:43 被阅读0次

    本机构建了一个spring-cloud的开发环境,并使用httpd做请求转发。结果发现在公司网络,通过服务启动httpd非常迅速,一回到家里,启动httpd就启动失败。可是家里的网络是移动的200m网,公司是移动的专线,网络环境并无打的差异。
    于是执行如下命令查看错误原因:

    systemctl status httpd.service
    

    发现是因为启动时超过了60s,所以超时启动失败。

    为什么启动会超时呢?

    我突然想到一个类似的现象:
    在家里网络通过spring-boot启动服务时,在spring-boot自加载环节就会有一个大约2m的时间,什么日志都没有输出,好像spring-boot在链接什么服务器,结果没有响应,在等待一样。而在公司网络则非常快,在对应的环境,几乎1ms都不需要。之前因为忙,没有顾上去找原因。

    这两个现象会不会是相同的原因呢?

    我想起来,因为httpd服务也要,基于spring-boot发布的微服务也好,都是通过localhost访问的,没有通过ip访问。会不会是主机映射上出的问题呢?于是检查 /etc/hosts 和 /etc/hostname 。发现我当初配置了主机名,但在 hosts 中没有对主机名进行 ip 的映射。
    于是加上类似如下的映射:

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 my.host.name
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 my.host.name
    

    重点在每行最后的 my.host.name。 这里需要使用本机实际配置的主机名来替换。

    配置好以后,重新启动httpd服务,发现非常快就启动成功了。再重新启动spring-boot微服务,也没有停顿了,和公司网络一样快。

    相关文章

      网友评论

          本文标题:2019-01-07 忘记设置本机ip和机器名的映射导致http

          本文链接:https://www.haomeiwen.com/subject/sguyrqtx.html