> CentOS > CentOS教程 >

Nginx(lnmp)支持IPv6教程

   IPv4地址将很快用完,IPv6普及也是必然之路,现在不少VPS服务商都已经开始IPv6的过渡,像BurstNet、BuyVM等都可以向客服发Ticket索要IPv6地址,He.net同时也提供IPv6 Tunnel间接的让VPS支持IPv6。

预备工作:向BurstNet客服索要IPv6地址,客服回复加上了就可以了,如果是其他的VPS服务商请先询问是否能加。

一、为Nginx添加IPv6模块

1、首先进入nginx源码的解压目录,下面以lnmp为例(12月10日之后下载的不用添加,默认已经支持IPv6),比如:lnmp0.5/nginx-0.7.67/,如果忘记放在那个目录了,可以执行:find / -name "nginx-0.7.67"  -type d

2、找到目录之后,执行:cd /root/lnmp0.5/nginx-0.6.67/

3、接下来给Nginx加上IPv6模块,执行:./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6

4、如果编译没有错误,然后执行:make 但不要make install。

5、编译完,在objs目录下有一个nginx执行文件,先备份下原来老的nginx文件,执行:mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old ,再把新objs下的nginx cp到sbin下,执行:cp objs/nginx /usr/local/nginx/sbin/nginx

6、执行 /usr/local/nginx/sbin/nginx -t 测试下,显示没有问题。

7、再执行:make upgrade

8、执行:/usr/local/nginx/sbin/nginx -V 看一下,IPv6模块已经编译进去了。

二、Nginx启用IPv6

Nginx添加上IPv6后,需要执行:killall nginx 再执行:/usr/local/nginx/sbin/nginx 不能用平滑重启。

修改Nginx所有虚拟主机的配置,这个/usr/local/nginx/conf/nginx.conf 也要修改,将所有server {}里面的listen 后面全部加上IP,如下:

server
{
listen       184.82.232.8:80;
listen       [2607:f878:3:2:0:300:2004:10]:80;
listen       [2607:f878:3:2:0:300:2004:11]:80;
server_name burst-la.vpser.net;
index index.html index.htm index.php;
root  /home/wwwroot;

....省略部分配置

}

要注意IPv6地址需要用[]括起来,如果客服已经给加上IPv6地址了,而你不知道可以执行:ifconfig 命令,如下图:

按上面要求修改好后,执行:/usr/local/nginx/sbin/nginx -t 查看是否有错误,没有错误可以执行:killall nginx ,再执行:/usr/local/nginx/sbin/nginx 启动即可。

打开浏览器输入:http://[2607:f878:3:2:0:300:2004:10]/ 就可以访问了。

PS:你的电脑需要已经支持IPv6,且连入IPv6,可以使用六飞、freenet6之类的现实支持IPv6。

如果在安装过程中有问题,欢迎再本文留言或者到vps论坛相应版块发帖。

>>转载请注明出处:VPS侦探 本文链接地址:http://www.vpser.net/build/nginx-lnmp-ipv6.html (责任编辑:IT)