linux_CentOS 7.2 64位 騰訊雲 80埠未啟用解決方法
描述:在購買的騰訊雲伺服器,自己選擇的安裝映象CentOS 7.2 64位,然後自己搭建好環境後,發現有限埠沒有啟動
尤其是預設的網路訪問埠:80沒有自己啟用。一開始以為是防火牆的問題。這裡面遇到了一些小坑
1 CentOS 7.2 64位 之後的防火牆沒有直接使用service 指令,修改成了systemctl指令
2 首先檢視centos自帶的防火牆 firewalld.server,我直接對其關閉,執行標紅部分
# 檢視狀態
$ systemctl status firewalld.service
$ systemctl start firewalld.service
$ systemctl reload firewalld.service
$ systemctl stop firewalld.service
3 然後啟動iptables防火牆服務,發現該服務不存在,那麼就yum安裝
$ yum install iptables-services
4 編輯iptables的規則檔案
$ vi /etc/sysconfig/iptables
5 新增80埠的開放規則
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
6 重啟iptables
$ systemctl restart iptables.service //或者使用 service iptables restart
7 外部telnet 下該服務的80埠是否開放,結果發現還是不行,22埠是沒有問題的,說明防火牆是開啟有效的
但是80埠無法訪問,然後在服務本地使用telnet localhost 80 也是不行(預設系統是沒有telnet指令的,需要yum install -y telnet)
8 lsof -i:80 發現沒有80埠,此時想到是80埠沒有啟動,解決方法,安裝httpd管理包
# 檢視80是否備用,結果顯示80沒有啟動
$ lsof -i:80
# 然後安裝httpd包,成功安裝後,他會自動啟動80埠
$ yum install -y httpd
# 然後再次檢視80埠,發現已經啟動,此時在使用telnet 此時80埠,發現已經可以訪問
總結: 在外部此時一個埠是否開放的時候,要做幾個步驟
1 檢查伺服器是否開啟了防火牆
2 防火牆開啟後,檢查下使用的是哪種防火牆,是系統自帶的,還是自己安裝的,這裡有兩種
2.1 centos自帶的 firewall.service ,是預設的,一般我們不使用,直接安裝上面的步驟永久停止
2.2 然後使用iptables防火牆服務,如果系統沒有,那麼就yum install -y iptables-service 進行安裝
然後會在 /etc/sysconfig/iptables 中生成防火牆規則,然後新增防火牆規則,新增開放的埠
3 在開啟iptables後,並添加了開放規則,此時檢查是否可以使用
4 如果不通,再次檢測新增的埠是否啟動
$ lsof -i:<port>
檢視該介面是否開啟,如果沒有開啟,那麼就進行啟動
5 但是對於80埠如果在4中沒有啟動,需要啟動httpd服務,如果該服務在系統中不存在,那麼就需要下載安裝
$ yum install -y httpd //在下載好,httpd服務會自動啟動80埠
此時再次嘗試80埠,發現可以使用。