龙空技术网

Nginx添加ipv6模块及遇到问题解决方案

猿码的周末 106

前言:

今天兄弟们对“nginx443ipv6”大概比较珍视,兄弟们都想要学习一些“nginx443ipv6”的相关内容。那么小编也在网摘上搜集了一些有关“nginx443ipv6””的相关内容,希望小伙伴们能喜欢,咱们快快来了解一下吧!

#文章首发挑战赛#

1、检查nginx是否已经包含ipv6模块

nginx -V

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

如果不支持ipv6则需要上传Nginx包,进入目录,进行重新编译(注意用户组默认是www,可以到etc下的配置文件检查具体用户组)

( 添加用户组命令:/usr/sbin/groupadd -f www /usr/sbin/useradd -g www www )

进入目录,进行重新编译命令:

./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执行文件(做好备份,如果失败还原)

cp /usr/sbin/nginx /usr/sbin/nginx.bak

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

service nginx stop

5、覆盖nginx执行文件

cp nginx /usr/nginx/sbin/nginx

6、检查配置文件

nginx -t

7、检查版本

Nginx -V

8、启动nginx

service nginx start

9、检查监听是否已成功

(要去etc/下配置文件新增IPV6 的端口例如

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)

vim /etc/sysconfig/iptables

打开后,默认的配置信息如下(新添加两个):

-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

systemctl restart nginx.service

2、如果报缺少库则需要安装对应的如下库

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)然后在操作。

标签: #nginx443ipv6 #nginx禁用ipv6不生效 #nginx无法启动98端口被占用