1. 程式人生 > >linux_CentOS 7.2 64位 騰訊雲 80埠未啟用解決方法

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

   # 配置是否開機啟動    $ systemctl enable firewalld.service   //開機啟動    $ systemctl disable 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埠,發現可以使用。