参考了网页
http://help.aliyun.com/view/11108300_13537393.html?spm=5176.7034505.1996032437.25.uWH1HO
nginx: [emerg] the INET6 sockets are not supported on this platform in "[::]:80" of the "listen" directive in /usr/local/nginx/conf/nginx.conf
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到这个错误信息,意味着你的服务器平台不支持IPv6套接字,尽管你在Nginx配置中启用了对IPv6地址的监听。针对你的情况,有几种可能的解决方法:
检查系统是否支持IPv6: 首先,确认你的操作系统是否已经正确配置并支持IPv6。在Linux系统中,你可以通过运行命令 cat /proc/sys/net/ipv6/conf/all/disable_ipv6
来查看IPv6是否被禁用。如果输出为1,则表示IPv6被禁用,需要修改为0以启用。
更新Nginx版本: 你提到使用的是Nginx 1.6.0版本,这是一个相对较老的版本。某些较旧的软件版本可能对新特性的支持不够完善,包括对IPv6的支持。尝试升级Nginx到最新稳定版,这通常能解决兼容性问题。升级步骤一般包括下载最新源码、编译安装等,具体可以参考Nginx官方文档。
修改Nginx配置: 如果暂时无法升级Nginx或系统确实不支持IPv6,你可以选择移除或注释掉配置文件中关于IPv6监听的部分。即找到类似于下面的行:
listen [::]:80 default_server;
并将其注释掉或删除,仅保留IPv4的监听配置,如:
listen 80 default_server;
这样可以让Nginx只监听IPv4的请求。
检查系统内核和模块: 确保你的系统内核支持IPv6,并且相关的IPv6模块已加载。在Linux系统中,可以通过 lsmod | grep ipv6
命令来查看是否已加载ipv6模块。如果没有加载,可能需要重新编译内核以包含IPv6支持,或者在启动时加载该模块。
咨询服务器提供商: 如果上述方法都不能解决问题,建议联系你的服务器提供商或云服务提供商(如阿里云),询问他们关于服务器IPv6支持的具体情况,以及是否有特定的配置要求或解决方案。
请按照上述建议逐步排查和尝试,希望能帮助你解决这个问题。