博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux修改本机/etc/hosts的hostName后经常不生效
阅读量:4105 次
发布时间:2019-05-25

本文共 2443 字,大约阅读时间需要 8 分钟。

分享一下我老师大神的人工智能教程!零基础,通俗易懂!

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

1、Linux修改本机别名/etc/hosts的hostName后经常不生效解决

Linux修改本机别名/etc/hosts的hostName后经常不生效,

比如我们/etc/hosts的内容如下:

#192.68.1.10 message.xxx.com

192.68.1.11 message.xxx.com

但是pingmessage.xxx.com还是指向192.68.1.10。

一般2种解决方案:

1). 重启,这是最直接最可靠稳定的一种方法,如果有些时候不方便重启,则可以使用第二种方法。

2). 修改/etc/sysconfig/network文件,将HOSTNAME修改成对应的别名,如下:

NETWORKING=
yes
HOSTNAME=host1
修改后重启网络服务
service network restart (本质是/etc/init.d/network)
3). 如果重启服务器后,还是不起作用,应该是本机的dns缓存引起的。
查看nscd是否启用: ps -ef|grep nscd
直接关闭Linux nscd 缓存服务:
/etc/init.d/nscd stop

2、Linux的DNS

     本身是没有dns缓存的,想使用dns缓存的话需要自己安装一个服务程序NSCD(name service cache daemon).

    nscd三种passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL).

     安装:

  yum install nscd

    修改配置文件/etc/nscd.conf,开启dns缓存,修改这一行

  enable-cache hosts yes。

如果启用了nscd 服务,才有dns 缓存,否则是没有dns缓存的。

     开启 、停止、 重启

     service nscd start | stop | restart

nscd的配置:

通过编辑/etc/nscd.conf文件,在其中增加如下一行可以开启本地DNS cache:

enable-cache hosts yes

阿里云主机上的配置如下:

[root@iZ2571ykq ~]# cat /etc/nscd.conf #logfile        /var/log/nscd.logthreads         6max-threads     128server-user     nscddebug-level     5paranoia        noenable-cache    passwd      noenable-cache    group       noenable-cache    hosts       yespositive-time-to-live   hosts   5negative-time-to-live   hosts       20suggested-size  hosts       211check-files     hosts       yespersistent      hosts       yesshared          hosts       yesmax-db-size     hosts       33554432

相关参数的解释如下:

logfile debug-file-name:指定调试信息写入的文件名。

debug-level value:设置希望的调试级别。

threads number:这是启动的等待请求的线程数。最少将创建5个线程。

server-user user:如果设置了该选项,nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项

enable-cache service <yes|no>:启用或禁用制定的 服务 缓存。

positive-time-to-live service value:设置 service 在指定缓存中正的项目(成功的请求)的TTL(存活时间)。 Value 以秒为单位。较大的值将增加缓存命中率从而减低平均响应时间,但是将增加缓存的一致性问题。

negative-time-to-live service value:设置 service 在指定缓存中负的项目(失败的请求)的TTL(存活时间)。 Value 以秒为单位。如果存在由不在系统数据库中的uid(用户ID)(例如在以root身份解包linux 内核源代码时)所拥有的文件将明显改善性能;应该维持较小的值以降低缓存一致性问题。

suggested-size service value:这是内部散列表的大小, value 应该保持一个素数以达到优化效果。

check-files service <yes|no>:启用或禁用检查属于指定 服务 的文件的改变。这些文件是 /etc/passwd, /etc/group, 以及/etc/hosts。

nscd的查看和清除

nscd缓存DB文件在/var/db/nscd下。

nscd -g  查看统计信息

清除 nscd缓存:

nscd -i passwd

nscd -i group
nscd -i hosts

当然也先删除缓存库或者停掉nscd服务:

rm -f /var/db/nscd/hosts

service nscd restart

或者是直接停止nscd 服务 service nscd stop。

 

           

给我老师的人工智能教程打call!

这里写图片描述
你可能感兴趣的文章
Unity3D 学习 - 通过C#脚本创建简单的按钮、响应事件
查看>>
Unity编译iOS工程的自动化配置(XUPorter)
查看>>
苹果App Store新规:6月1日后所有应用必须支持IPv6-only网络
查看>>
使用Proguard混淆java源代码
查看>>
提高iOS开发质量的一些事
查看>>
XCode 开发去除 UserInterfaceState.xcuserstate 文件为版本控制带来的困扰
查看>>
iOS Crash文件的解析(一)
查看>>
iOS Crash文件的符号化(二)
查看>>
C++符号的还原(demangling)
查看>>
Apple Watch简述
查看>>
获取App Sotre中应用的详情
查看>>
python中的requests模块错误
查看>>
watchOS 2教程(一):开始吧
查看>>
watchOS 2教程(二):表格
查看>>
watchOS 1教程
查看>>
移动应用开发测试工具Bugtags的使用
查看>>
iOS中静态库(static library, .a文件)中的category变得可用
查看>>
网易NeteaseAPM iOS SDK技术实现分享
查看>>
iOS实时卡顿监控
查看>>
自定义iOS下的log记录系统
查看>>