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