Linux系统,刚装好没多久,运行Node.js程序倒是看起来没啥问题,只是浏览器上打不开对应地址,然后过一会程序报错退出:
Error: getaddrinfo EAI_AGAIN localhost.localdomain
查了一下是因为DNS问题,但我这只是在自己机器上跑着玩,肯定跟域名什么的没有关系。想了很久才明白是因为这个系统没有主机名,所以只要给系统加上主机名,就OK了。
系统安装的时候不设主机名的Linux发行版很少见,但是openSUSE看来现在是这样的了,明明以前也会随机生成个名字。
添加主机名的方法(懒人方法):
- 在 /etc/hostname 文件中定义主机名,如果系统没有设置,这个就是空文件,文件里写啥主机名就是啥
- 在 /etc/hosts 文件中,给 127.0.0.1 和 ::1 后面的别名都加上刚刚设置的主机名
- 重启(不重启就生效的方法请自行查询)
参考:
https://www.cyberciti.biz/faq/opensuse-linux-change-hostname-computer-name-command/