背景:hostwinds的vps服务器,通过rdns的域名访问的,服务器系统为 Ubuntu 2004,尝试过多个版本组合的 Nginx + php + phpmyadmin。现象:浏览器访问 http://hwsrv-xxxxx.hostwindsdns.com:888/phpmyadmin_yyyyyyyy/ ,HTTP ERROR 503 。
尝试过的解决方法:更换php版本、更换Nginx版本、更换phpmyadmin版本、通过宝塔后台放行端口、通过ufw和iptables放行端口,均无效。
最终解决思路:通过 netstat -ntlup | grep 888 命令发现,Nginx 没有监听 IPv6 的IP(即 [::]),使用 w3m (命令行浏览器) 可以打开 http://127.0.0.1:888/phpmyadmin_yyyyyyyy/ 。
解决方法:修改Nginx配置文件 /www/server/nginx/conf/nginx.conf ,修改 phpmyadmin 的配置为
- server
- {
- listen 0.0.0.0:888;
- listen [::]:888;
- server_name phpmyadmin;
- index index.html index.htm index.php;
- 以下略
复制代码 即添加 listen [::]:888; 以监听 IPv6 。
然后重启Nginx服务,systemctl restart nginx 。
然后浏览器可以正常打开phpmyadmin页面,即使更换phpmyadmin版本也能访问。
以上为个例,在此记录一下,也为网友提供一种思路,检测Nginx的端口监听问题和使用w3m命令行浏览器测试。
也建议,希望能改善一下phpmyadmin和Nginx的安装脚本,配置监听 IPv6 地址。
|