Linux系统下openresty的Nginx支持ipv6配置的方法

一、查看现有nginx是否支持ipv6

需要执行以下命令,查看现有nginx是否支持ipv6,如果参数中具有–with-ipv6,则支持,如 果没有,则不支持,需要重新编译nginx。

此处的nginx路径以您实际的nginx启动文件路径为准

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

--prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.61 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.07 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.11 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.18 --add-module=../redis2-nginx-module-0.14 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.08 --add-module=../ngx_stream_lua-0.0.3 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-stream --with-stream_ssl_module --with-http_ssl_module 

复制
二、 重新编译nginx支持ipv6

1、下载相对应的nginx安装包;

2、解压nginx的安装包;

3、进入nginx解压后的安装文件中,先执行 ./configure 命令,后面添加上上面 /usr/local/nginx-1.14.0/sbin/nginx -V 获得的参数,并再添加 –with-ipv6 参数,执行;

 ./configure --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.61 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.07 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.11 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.18 --add-module=../redis2-nginx-module-0.14 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.08 --add-module=../ngx_stream_lua-0.0.3 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-stream --with-stream_ssl_module --with-http_ssl_module  --with-ipv6

![image.png](https://upload-images.jianshu.io/upload_images/17572385-e348b95984a27253.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4、执行make命令,千万别执行 make install 命令,否则就把原来的nginx给覆盖了;

5、备份原来路径下的 nginx 执行文件:

sudo cp /usr/local/nginx-1.14.0/sbin/nginx /usr/local/nginx-1.14.0/sbin/nginx.old
复制
6、make之后进入安装文件夹下的 objs 文件夹下;

cd objs
复制
7、停掉原来的nginx服务,覆盖掉原来的 nginx 执行文件后,启动nginx服务:

sudo /usr/local/nginx-1.14.0/sbin/nginx -s stop
sudo cp nginx /usr/local/nginx-1.14.0/sbin/nginx
sudo /usr/local/nginx-1.14.0/sbin/nginx
复制
补充:

同时监听IPV4和IPV6

server {
....
listen [::]:80;
...
}
复制
只监听IPV6

server {
....
listen [::]:80 default ipv6only=on;
...
}
复制
监听指定IPV6地址

server {
....
listen [3608:f0f0:3002:31::1]:80;
...
}

你可能感兴趣的:(Linux系统下openresty的Nginx支持ipv6配置的方法)