/ 中存储网

BuyVM OpenVZ VPS配置Nginx支持ipv6访问

2013-08-21 09:23:24 来源:kejihao
几日前在买了个buyvm在美国拉斯维加斯的256 VPS,配置了lnmp最新的0.9一键安装包,配置了pptp VPN,感觉不错。

发现给了16个ipv6地址,准备用上,以下是配置笔记,整合网上教程资源亲测。

查看nginx是否启用ipv6

安装了lnmp0.9安装包,所以应该默认支持IPV6。

如果有怀疑,可以测试下。

查看nginx是否启用ipv6,SHH登陆后,输入命令

/usr/local/nginx/sbin/nginx -V

结果显示

configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6

而 --with-ipv6 则就是环境已经支持了IPV6

修改nginx服务器配置文件

这里要修改的文件是 /usr/local/nginx/conf/nginx.conf

通过vi命令打开 /usr/local/nginx/conf/nginx.conf

找到 listen 80; 处,下面添加 listen [::]:80 default ipv6only=on;

server{

listen 80; #此处监听所有ipv4地址

listen [::]:80 default ipv6only=on; #此处监听所有ipv6地址

}

这里要注意的是,一定要添加  default ipv6only=on 很多网上教程都没有这个提示,导致虽然测试配置文件没问题,却无法打开网站。

执行以下命令,查看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

因为VPS上不止一个网站,所以这样开启的话,如果域名解析了ipv6只能显示到默认网站上,所以我们还需要更改虚拟主机的文件。

注意事项:修改conf配置文件是指修改所有网站的conf文件,包括

/usr/local/nginx/conf/nginx.conf

/usr/local/nginx/conf/vhost/域名1.conf

/usr/local/nginx/conf/vhost/域名2.conf

这里,每个开启IPV6的虚拟主机的配置文件都要加上监听ipv6信息,

如vi命令打开 /usr/local/nginx/conf/vhost/ipv6.ac.conf

找到监听80端口那段,加上监听ipv6

listen       80;

listen [2605:6400:2:fed5:22:2ca3:a515:5a2]:80;

至于不开启ipv6的,则可以不配置监听ipv6信息。

重启Nginx生效;

killall nginx

/usr/local/nginx/sbin/nginx

netstat -apn 命令 查看端口监听

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1881/nginx

tcp6       0      0 :::80                   :::*                    LISTEN      1881/nginx

0.0.0.0:80说明ipv4的80端口都在监控中。而:::80说明ipv6的80端口都在监控中。

现在就可以使用ipv6访问网站了。