一、查看现有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://img.haomeiwen.com/i17572385/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;
...
}
网友评论