1、检查nginx是否已经包含ipv6模块
1 | nginx -V |
输出结果如果没有 ipv6则不支持,如果支持ipv6,则输出结果会包含 “–with-ipv6”。
如果不支持ipv6则需要上传Nginx包,进入目录,进行重新编译(注意用户组默认是www,可以到etc下的配置文件检查具体用户组)
( 添加用户组命令:/usr/sbin/groupadd -f www /usr/sbin/useradd -g www www )
进入目录,进行重新编译命令:
1 | . /configure --user=nginx --group=nginx--prefix= /usr --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 |
2、编译完毕后,会在当前目录下创建objs目录,新的nginx执行文件将生成在该目录中
3、替换nginx执行文件(做好备份,如果失败还原)
1 | cp /usr/sbin/nginx /usr/sbin/nginx .bak |
4、停止nginx这里必须停止nginx,否则无法覆盖的!
1 | service nginx stop |
5、覆盖nginx执行文件
1 | cp nginx /usr/nginx/sbin/nginx |
6、检查配置文件
1 | nginx -t |
7、检查版本
1 | Nginx -V |
8、启动nginx
1 | service nginx start |
9、检查监听是否已成功
(要去etc/下配置文件新增IPV6 的端口例如
1 2 3 4 5 | listen 80; listen [::]:80 ipv6only=on; listen 443; listen [::]:443 ipv6only=on; ) |
如果检查端口起来,那么IPV6模块新增成功
如果成功一下可以忽略
如果报错以下是解决方案可以参考
1、nginx启动提示nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
1 | vim /etc/sysconfig/iptables |
打开后,默认的配置信息如下(新添加两个):
1 2 | -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT |
重启Nginx
1 | systemctl restart nginx.service |
2、如果报缺少库则需要安装对应的如下库
1 2 3 | yum install -y zlib-devel yum install -y pcre-devel yum install -y openssl openssl-devel |
3、如果报错xx文件找不到需要到指定目录创建文件夹和对应的文件
在usr/新建夹logs(文件夹先对应三个文件主要是error。log文件) 、conf (把配置文件etc/nginx 复制 /usr/conf)然后在操作。
总结
到此这篇关于Nginx添加ipv6模块以及遇到问题解决方案的文章就介绍到这了,更多相关Nginx添加ipv6模块内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!