当前位置: > Linux服务器 > nginx >

BuyVM OpenVZ VPS配置Nginx支持ipv6访问

时间:2015-01-10 22:57来源:linux.it.net.cn 作者:IT
几日前在买了个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访问网站了。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容