nginx root目录_干了3年多才知道有IPV6,nginx实战搭建IPV6,手把手带你从IPV4升到IPV6...

一:检查nginx是否已经包含ipv6模块

[root@iz2ze3oyrjbxg32wecre15z /]# /alidata/server/nginx/sbin/nginx -V

v2-6d513e56d5c871daa2f90f3709a1d7b5_b.png

从结果看出,输出结果没有 ipv6支持

如果支持ipv6,则输出结果会包含 “--with-ipv6”。

v2-8345dc2136831b1ffa93973d06a59924_b.png

如果各位同学的环境已经支持,则可以不用往下看啦,呵呵!

二:准备nginx源码

1、本文以1.4.4版本为例,其他版本没有测试,不过我想基本类似,具体请各位同学亲测。

2、如果本地没有源码,则需要到如下地址下载:http://nginx.org/download/nginx-1.4.4.tar.gz 其他版本,也可以在http://nginx.org 下载,上面会列出所有版本以供下载。

3、将下载的源码上传到linux

在root 根目录新建 tmp目录

[root@iz2ze3oyrjbxg32wecre15z /]# cd /root

[root@iz2ze3oyrjbxg32wecre15z /]# mkdir tmp

v2-e9144dfeac5b312c9d1c67aa0a525f04_b.png

将安装包上传到该目录,上传工具推荐同学们使用Xftp

v2-aac5b72f776abaa943d2707c01ff5223_b.jpg

三:编译nginx源代码,加入ipv6支持

1、 跳转到tmp目录,执行命令解压安装文件

[root@iz2ze3oyrjbxg32wecre15z /]# cd tmp

[root@iz2ze3oyrjbxg32wecre15z /]# tar xvzf nginx-1.4.4.tar.gz

v2-60c47942600e8aaa12e9f397f5d01b02_b.jpg

2、 跳转到解压过后的目录,执行命令配置新的参数,加入 ipv6模块。

注意:在配置参数时,一定要在原来的参数的基础上追加,否则有可能丢失原来的支持模块,切记!切记!切记!

[root@iz2ze3oyrjbxg32wecre15z /]# cd nginx-1.4.4

[root@iz2ze3oyrjbxg32wecre15z/]#./configure --user=www --group=www --prefix=/alidata/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module --with-ipv6

注意:‘--’符号之间有空格。

v2-1bf86a11a5230e07fd6608709c3aeae8_b.jpg

….中间省略若干输出

v2-5c8927b7c4518a3ff514e758b615ec4a_b.jpg

3、 配置完毕后,执行make 命令,重新编译

v2-00e25d3a621d083fdd48e09917eb7a72_b.jpg

….中间省略若干输出

v2-85daf4b82d39886feae7ac6456f00e41_b.jpg

4、 编译完毕后,会在当前目录下创建objs目录,新的nginx执行文件将生成在该目录中

v2-7226447a73f4ccbc5d3c003122e8a162_b.jpg

四:替换nginx执行文件

1、 同学们要养成好习惯,首先备份原来的nginx

[root@iz2ze3oyrjbxg32wecre15z /]#

cp /alidata/server/nginx/sbin/nginx /alidata/server/nginx/sbin/nginx.bak

v2-45b5f2d30e39b083def5f43e82804ac9_b.png

2、 停止nginx

这里必须停止nginx,否则无法覆盖的哦!

[root@iz2ze3oyrjbxg32wecre15z /]# service nginx stop

v2-6f65a328a36c017a02188ca94f4c8d76_b.png

3、 覆盖nginx执行文件

[root@iz2ze3oyrjbxg32wecre15z /]# cp nginx /alidata/server/nginx/sbin/nginx

v2-af8bc1129c550506daa4dc030a004a30_b.png

3、测试新的nginx程序是否正确

[root@iz2ze3oyrjbxg32wecre15z /]# /alidata/server/nginx/sbin/nginx -t

v2-7e6d0e69e2155395c2f4a729c33c7ee9_b.png

4、 启动nginx

[root@iz2ze3oyrjbxg32wecre15z /]# service nginx start

v2-68bc06edf16bbd6afd26155132d83bde_b.png

五:再次检查nginx是否已经支持ipv6

[root@iz2ze3oyrjbxg32wecre15z /]# /alidata/server/nginx/sbin/nginx -V

v2-113a5e83bc7aa46d3dd154aaf102b57f_b.png

至此,大功已经告成,接下来就为Nginx配置IPv6地址端口监听。

nginx可以同时支持ipv4与 ipv6的监听,但为了一致性的考虑,新版本Nginx推荐使用分开监听,下面我们开始进入正题。

六、默认IPV4配置

下面我们先来看一看默认的ipv4配置:

v2-a5097723d0731f0d4e7a383e51dcca7c_b.jpg

七、加入ipv6监听

1、从Nginx 1.3的某个版本起,默认ipv6only是打开的,所以,我们只需要在监听中加入ipv6监听即可,不过推荐都手动加上比较好,代码如下:

listen [::]:80 ipv6only=on;

v2-37480333beb4e9f96f33807a8b9ef966_b.jpg

2、编辑完毕后保存,然后使用命令检测配置是否正确

[root@iz2ze3oyrjbxg32wecre15z /]# /alidata/server/nginx/sbin/nginx -t

v2-581012d263fc242d1ddb39d81f485ade_b.png

如果出现 test is successful代表配置检测成功。

3、重启nginx

[root@iz2ze3oyrjbxg32wecre15z /]# service nginx reload

v2-c847fa17eec9bbb61d92cb814903cf16_b.png

4、检测监听是否已经成功

[root@iz2ze3oyrjbxg32wecre15z /]# netstat -tuln

v2-ae1f5190dbd7cb8e1ea58594bf7ab351_b.jpg

如果列表出现 :::80的监听代表ipv6的监听已经成功。

八、其他个性化操作

1、如果只想监听ipv6,则去掉ipv4的配置,然后将ipv6设置为默认即可。

v2-1aad3fe9808c270ead1bbf6dafa79f45_b.png

2、如果想监听指定ipv6地址,则将中括号中的:: 换成 指定ipv6地址即可。

534fec0999aff279d98165dbd8a40b28.png

3、在前面的配置中,很多同学看到有监听 443端口,这个是对ssl的监听,监听方式和默认80监听类似,大家可以举一反三嘛!

九、我们使用ipv6网站来测试是否已经可以正常访问

我们常用的网站是:http://ipv6-test.com/validate.php

v2-2216d4bd8f36a08f7e79809f0def38c7_b.jpg

结果显示,已经正确访问到网站。

至此,大功已经告成。关键我,不迷路,还有相关资料可免费获取

来源:锋行天下-恢弘

作者:锋行天下-恢弘

文章:Linux下ipv6配置系列三如何为Nginx配置IPv6端口监听:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值