1.首先让你的阿里云服务器支持ipv6,比如我的服务器是centos6.5
1). 修改disable_ipv6.conf,不同的系统命名会有些差别
# vim /etc/modprobe.d/disable_ipv6.conf ##注释alias ipv6 off及修改options ipv6 disable为0 修改前 alias net-pf-10 off alias ipv6 off options ipv6 disable=1 修改后 alias net-pf-10 off #alias ipv6 off options ipv6 disable=0 # cp /etc/sysconfig/network /data/guotest/ipv6/ # vim /etc/sysconfig/network ##修改NETWORKING_IPV6为yes 修改前 NETWORKING=yes HOSTNAME=coolnull NETWORKING_IPV6=no PEERNTP=no GATEWAY=*.*.*.* 修改后 NETWORKING=yes HOSTNAME=coolnull NETWORKING_IPV6=yes PEERNTP=no GATEWAY=*.*.*.*
2). 至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6,重启后(一定要重启服务器)
# lsmod | grep ipv6 如果有输出则已经支持ipv6 ipv6 318183 23 sit
2.申请免费通道
1).注册Tunnel broker(略去)
2).点击左侧“Create Regular Tunnel”,填写外网ip,一般选择Hong Kong HK (亚洲香港)隧道节点,点击Create Tunnel创建
填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,但可以手动选择,大家可以根据自己的实际情况操作
3).到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-route2,出现了设置的命令,复制下来在,到自己的linux服务器上运行。
4).在自己linux服务器下运行如下命令,如能见到自己之前的ipv6的ip,如X:X:X:X::2即成功了~
ifconfig
3.配置Nginx
1)、准备工作
选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。
Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE;Nginx中的Gzip用到zlib;
用命令“# gcc”,查看gcc是否安装;如果出现“gcc: no input files”信息,说明已经安装好了。
否则,就需要用命令“# yum install gcc”,进行安装了!一路可能需要多次输入y,进行确认。
安装好后,可以再用命令“#gcc”测试,或者用命令“# gcc -v”查看其版本号。
同样方法,用如下命令安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思):
- # yum install -y pcre pcre-devel
- # yum install -y zlib zlib-devel
- # yum install -y openssl openssl-devel
2)、下载并安装
创建目录(nginx-src)并进去;然后,从官方地址(http://nginx.org/)下载,解压,配置,编译,安装:
- # mkdir nginx-src && cd nginx-src
- # wget http://nginx.org/download/nginx-1.7.3.tar.gz
- # tar xzf nginx-1.7.3.tar.gz
- # cd nginx-1.7.3
- # ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-ipv6(注意这个参数是让Nginx支持ipv6的)
- # make
- # make install
- # whereis nginx
- nginx: /usr/local/nginx
3).用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)
4).执行以下命令,查看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
5).重启Nginx生效;
/usr/local/nginx/sbin/nginx -s reload
4.验证配置是否成功
ping6 你的ipv6地址 如果输出如下说明已经大功告成了