CentOS7通过CLI手动添加Nginx域名配置后无法上线求助
排查CentOS 7下Plesk环境手动添加Nginx域名无法上线的问题
以下是针对性的排查步骤:
1. 确认域名解析生效
先验证域名NS记录和A记录是否正确指向服务器:
- 执行
dig hustana.ir NS,检查返回的NS服务器是否和你在域名平台设置的一致 - 执行
dig hustana.ir A和dig www.hustana.ir A,确认返回的IP是你的服务器公网IP - 如果解析未生效,等待DNS缓存刷新(通常1-24小时),或检查域名平台的NS设置是否正确
2. 检查Nginx配置加载情况
Plesk会接管Nginx的配置管理,手动添加的配置可能未被加载:
- 检查
/etc/nginx/nginx.conf,确认是否包含了你的手动配置文件路径。比如你把配置放在sites-available,需要有类似include /etc/nginx/sites-available/*.conf;的语句;如果是直接引入到nginx.conf,确认引入语句没有被注释 - 执行
nginx -t验证配置语法是否正确,若有错误根据提示修正 - 执行
systemctl reload nginx重载Nginx配置,确保新配置生效
3. 排查Plesk的配置干扰
Plesk生成的配置优先级通常高于手动配置:
- 检查
/var/www/vhosts/system/目录下是否存在与旧域名相关的残留配置文件,若有则删除并重载Nginx - 查看
/etc/nginx/plesk.conf.d/目录,确认Plesk的自动配置是否覆盖了你的手动规则,必要时可以将手动配置添加到Plesk的自定义配置区域(通过Plesk面板或/var/www/vhosts/hustana.ir/conf/nginx.conf文件)
4. 处理旧域名残留访问问题
删除旧域名配置后仍能访问空白页,通常是缓存或默认服务器块导致:
- 清理Nginx缓存:
rm -rf /var/cache/nginx/*,然后重载Nginx - 检查Nginx是否存在默认服务器块:查找配置中带有
listen 80 default_server;的server块,确认其根目录是否为空或返回空白页面;如果新域名未匹配到对应server块,会默认走这个服务器块
5. 验证文件权限
确保网站目录和文件的权限符合Nginx运行要求:
- 查看目录权限:
ls -ld /home/www/public_html,确保权限为755,所属用户/组为nginx:nginx或Plesk的psacln组 - 查看文件权限:
ls -l /home/www/public_html/index.html(或index.php),确保权限为644,所属用户/组正确 - 若权限错误,执行
chown -R nginx:nginx /home/www/public_html和chmod -R 755 /home/www/public_html修正(根据实际运行用户调整)
6. 检查PHP-FPM配置(若使用PHP)
针对你提供的PHP配置,做以下验证:
- 检查socket文件是否存在:
ls -l /var/run/php-fpm/php-fpm.sock,若不存在则启动或重启PHP-FPM服务:systemctl restart php-fpm - 确认Nginx用户有权限访问该socket:查看socket的权限,确保所属组包含nginx用户,或执行
chmod 660 /var/run/php-fpm/php-fpm.sock调整权限 - 查看PHP-FPM状态:
systemctl status php-fpm,确认服务正常运行
7. 查看日志定位错误
通过日志获取具体报错信息:
- Nginx错误日志:
tail -f /var/log/nginx/error.log - Nginx访问日志:
tail -f /var/log/nginx/access.log - Plesk域名日志:
tail -f /var/www/vhosts/hustana.ir/logs/access_log和error_log
根据日志中的错误提示(如404、权限被拒、fastcgi连接失败等)针对性解决
内容的提问来源于stack exchange,提问作者user18571264
相关产品推荐
相关产品推荐

