2019-01-07 忘记设置本机ip和机器名的映射导致httpd启动超时

本机构建了一个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和机器名的映射导致httpd启动超时)