“ipv6时代”从当初的“狼来了”,到现在真的为大家所重视已经有段时间了。现在已经有越来越多的网站,特别是像偶们这些闷骚的IT类小网站已经迫不及待的迁移到ipv6的怀抱了。本文将简单指引大家如何在LNMP下,让Nginx支持ipv6。因为微魔对这方面也钻研不深,因此如有错漏之处请大家批评指正哈~
让Nginx支持ipv6,以LNMP为例
本文是以军哥的LNMP 0.7为例搭建的环境,由于新版已经默认支持了ipv6模块,所以,这里我们无需多余的编译,直接修改conf配置文件即可!如果你的VPS不支持ipv6也可以使用HE为大家免费提供的TunnelBroker
1.用vi命令,将“注意事项”中的全部配置文件的server段中的listen,均修改成ip:80的形式(ipv6地址需要用[括起来])
server { listen 205.185.117.232:80; listen [2607:f358:1:fed5:5:0:538:7]:80; listen [2607:f358:1:fed5:5:0:538:8]:80; listen [2607:f358:1:fed5:5:0:538:9]:80; server_name vps.vmvps.com; index index.html index.htm index.php; root /home/wwwroot; ....省略... }
注意事项:修改conf配置文件是指修改所有网站的conf文件,包括
/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/vhost/域名1.conf
/usr/local/nginx/conf/vhost/域名2.conf
否则,将有可能出现如下错误:
[emerg]: bind() to [2607:f358:1:fed5:5:0:538:7]:80 failed (98: Address already in use) [emerg]: bind() to [2607:f358:1:fed5:5:0:538:8]:80 failed (98: Address already in use) [emerg]: bind() to [2607:f358:1:fed5:5:0:538:9]:80 failed (98: Address already in use)
2.执行以下命令,查看Nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
若返回以下结果则正确
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful
3.重启Nginx生效;
killall nginx
/usr/local/nginx/sbin/nginx
4.此外,你还应该做,其实应该先做的就是让你的域名DNS的AAAA记录绑到相应的ipv6地址上,如果你的域名商不支持AAAA(不大可能了吧~),可以选择DNSPOD。
注意:绑定AAAA记录时,和绑A记录一样,域名本身和他的“www”都要绑上哦~(除非你只想绑二级域名~)
最后,如何验证你的ipv6绑定成功了呢?呵呵,不用下载什么软件了。在你的网址后面加上.ipv4.sixxs.org,如https://www.vmvps.com.ipv4.sixxs.org,进行访问,如果能正常看到网站,你的网站则已经支持ipv6的访问鸟~
博主,这么深奥的东西我不懂啊。
我又来看看你博客更新了没有呢, 上次你说帮我整理老外支持支付宝付款的VPS 但是没有见踪影哦。
你介绍的这些我 要怎么买呢? 有哪些可以用到支付的 多介绍一些好吗
…你看下邮箱啊,我昨天发你邮箱了啊。我介绍的一般来讲没有特别说明都是只支持Paypal,不支持支付宝的
为什么我按照这种方式配置了很久都没实现呢,求解
我在BuyVM上测试一次就通过了,注意那个conf文件,别落下,要不然总是报错…至于其他原因我还没遇到~
会不会是我没有开通IPV4的解析的原因呢,但是我直接用IPV6地址访问也没办法的
额…具体情况不了解…
你好。很喜欢这个网站
IP6 是不是 又多了个 独立IP
这样 对多站点 SEO是不是好点
ipv6和ipv4是两个概念,目前没有SEO与ipv6相关的经验。ipv6相对增加了一个访问通道而已,具体可以百度看更多的相关内容~
😳
/usr/local/nginx/conf/nginx.conf属于默认配置文件,如果添加server参数会不会影响其他网站的配置呢
发现如果按照你这种方法会出现,99错误,也就是说我ipv4跟ipv6需要同时监听,会提示已经被占用错误!请问lz是怎么解决的?按照你这配置,
这个教程老了,可以直接用加“listen [::]:80;”