Nginx添加ipv6模块
刺-客 人气:01、检查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)然后在操作。
总结
加载全部内容