centos lamp域名解析问题
导读:CentOS LAMP 域名解析排查与修复 一、先快速定位问题类型 判断是否为 DNS 问题:先 ping 一个公网 IP(如 223.5.5.5),再 ping 你的域名(如 www.example.com)。若 IP 能通而域名不通,...
CentOS LAMP 域名解析排查与修复
一、先快速定位问题类型
- 判断是否为 DNS 问题:先 ping 一个公网 IP(如 223.5.5.5),再 ping 你的域名(如 www.example.com)。若 IP 能通而域名不通,基本可判定为 DNS 配置异常。
- 检查本机解析是否正常:使用 nslookup 或 dig 测试域名解析结果,例如:
nslookup www.example.com、dig www.example.com。 - 若你是在服务器本机测试,确认网络服务与 DNS 配置是否生效:
systemctl status NetworkManager或systemctl status network;必要时systemctl restart NetworkManager/systemctl restart network。 - 临时更换 DNS 做验证:
echo -e "nameserver 223.5.5.5\nnameserver 8.8.8.8" > /etc/resolv.conf,再测试解析是否恢复。
二、修复服务器 DNS 配置
- 临时生效(重启后可能丢失):直接写入 /etc/resolv.conf,添加公共 DNS:
echo -e "nameserver 223.5.5.5\nnameserver 8.8.8.8" > /etc/resolv.conf - 永久生效(推荐):编辑网卡配置文件(网卡名可能为 eth0/ens33 等),在文件中加入:
DNS1=223.5.5.5、DNS2=8.8.8.8、PEERDNS=yes
保存后重启网络:systemctl restart network(或systemctl restart NetworkManager)。 - 验证:
ping www.example.com、nslookup www.example.com应返回正确 IP。
三、LAMP 层面的域名访问与虚拟主机配置
- 确认 Apache 已启用虚拟主机包含:在 /etc/httpd/conf/httpd.conf 中确保存在
IncludeOptional conf.d/*.conf。 - 新建虚拟主机配置(示例:/etc/httpd/conf.d/example.conf):
< VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www/html/example < Directory /var/www/html/example> Options -Indexes +FollowSymLinks AllowOverride All Require all granted < /Directory> ErrorLog /var/log/httpd/example-error.log CustomLog /var/log/httpd/example-access.log combined < /VirtualHost> - 创建目录与测试页:
mkdir -p /var/www/html/example & & echo "< ?php phpinfo(); ?> " > /var/www/html/example/index.php - 语法检查与重启:
httpd -t & & systemctl restart httpd - 客户端访问测试:浏览器访问 http://www.example.com/。若仅局域网测试,可在客户端 hosts 文件添加解析:
服务器IP www.example.com。
四、防火墙与 SELinux 放行
- 放行 HTTP 80 端口:
firewall-cmd --permanent --add-port=80/tcp & & firewall-cmd --reload - 临时关闭 SELinux 做排查(生产环境不建议长期关闭):
setenforce 0;如需永久调整,编辑 /etc/selinux/config。 - 若仍异常,查看系统日志定位:
journalctl -xe | grep -i dns,或journalctl -u httpd。
五、常见现象与对应处理
- 能 ping 通 IP 但域名不通:多为 DNS 未配置/被覆盖,按第二部分修复 /etc/resolv.conf 或网卡 DNS1/DNS2。
- 解析结果不稳定或旧记录残留:重启 nscd 清理名称服务缓存:
systemctl restart nscd。 - 服务器能解析,外网/客户端不能:检查 云厂商安全组/本机防火墙 是否放行 80/443,以及客户端 DNS 设置是否正确。
- 修改 /etc/resolv.conf 后重启失效:改用网卡配置文件设置 DNS1/DNS2 并重启网络,确保持久化。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lamp域名解析问题
本文地址: https://pptw.com/jishu/787691.html
