阿里雲nginx配置(轉)

nginx公網IP沒法訪問瀏覽器(轉)

1、開始找緣由

在瀏覽器輸入:http://ip,正常的話,會有頁面,welcome to nginx 
我這裏是瀏覽器訪問失敗, 
查找緣由:php

一、在服務器上訪問Ip

執行:curl http://ip 
結果:超時,未鏈接成功linux

查看nginxaccess.log日誌,發現日誌未滾動,表明本機訪問不到公網ipnginx

二、確認網絡是否可達

telnet 12x.xx.x.xx 80 Trying 12x.xx.x.xx... Connected to 12x.xx.x.xx. Escape character is '^]'.
  • 1
  • 2
  • 3
  • 4

這樣就說明網絡上可達,而且TCP三次握手能夠完成,由於能telnet通,排除了網絡不通的狀況 
可是我本地的網絡不通。瀏覽器

三、是否受防火牆安全控制等。

將iptables和selinux關閉 
如下4條命令清除iptables的配置安全

iptables -F iptables -F -t nat iptables -X iptables -X -t nat
  • 1
  • 2
  • 3
  • 4

setenforce 0 #關閉selinux 
從新遠程訪問,仍是失敗。說明不是防火牆的緣由。這裏由於我是debian,因此默認是沒有開啓防火牆的,因此不是這個緣由。服務器

四、去/var/log/nginx/error.log查看錯誤日誌

日誌報錯:Address already in use 
這裏就已經確認錯誤在哪了,原來是80端口被佔用的問題。markdown

五、解決方案

1)執行:lsof -i:80 查看此時哪一個進程正在使用80端口 
我這邊發現是阿里雲盾正在使用80端口網絡

2)殺掉雲盾進程,重啓nginx試試 
kill -s 9 pid 
具體參考博客:http://blog.csdn.net/ljfphp/article/details/78666376curl

六、好吧,驚奇的發現,經過瀏覽器仍是訪問不了nginx,可是此刻個人80端口已經被nginx監聽了。繼續查看錯誤日誌。錯誤日誌並沒刷新。

七、百度發現有人說是iptables防火牆的緣由,可是debian系統的安裝默認是沒有iptables,因此應該不是防火牆的緣由。post

八、看到有人說,是沒有備案域名的緣由,80端口默認是關閉狀態。好吧,我準備改爲8080端口,看看能不能行吧。(這個沒來得及試)

2、真正的兇手

      終於找到問題了,眼淚差點掉下來。原來是阿里雲的問題。我剛開通的服務器,沒有設置安全組規則。下面給你們演示一下安全組怎麼設置。 
一、進入雲服務控制檯

二、找到安全組,點擊進入 
這裏寫圖片描述 
三、在默認的一個安全組上,有一個配置規則按鈕。點擊配置規則 
這裏寫圖片描述 
四、這是我原來的安全組規則,沒有http的

這裏寫圖片描述

五、按照如圖所示添加

這裏寫圖片描述

六、瀏覽器訪問ip成功 
這裏寫圖片描述

配置好安全規則以後,咱們就能在瀏覽器經過ip訪問了。。千想萬想,沒想到會收到來自阿里雲的GANK,很絕望。。不過在查錯過程當中也學到了不少,記錄一下。

end

相關文章
相關標籤/搜索