最近有個web項目須要部署到國外的一臺服務器,按照慣例安裝好Apache以後,經過ip卻沒法訪問到Apache的默認"It works!"的頁面,可是用命令curl訪問http://localhost以後卻能正常顯示"It works!"頁面的html代碼。因而乎想到防火牆,查了一下防火牆只受權ssh遠程鏈接的22端口。以前公司的同事教我用setup圖形界面操做了一下增刪防火牆端口,可是因爲服務器在國外,延遲高,切換tab鍵都很費力,那仍是改用命令號來操做吧。上網查資料說centos7版本之後是用firewalld取代了iptables。如下是具體的步驟:
1.停用iptableshtml
# systemctl stop iptables.service
2.啓動 firewalldweb
# systemctl start firewalld.service
報錯了,顯示這個
Failed to start firewalld.service: Unit firewalld.service is masked.
3.unmask firewalldcentos
# systemctl unmask firewalld.service
4.啓動 firewalld.service瀏覽器
# systemctl start firewalld.service
5.上一步沒有什麼信息輸出就說明啓動firewalld成功了,接着把 80 端口添加到防火牆開放端口中服務器
# firewall-cmd --permanent --zone=public --add-port=80/tcp
6.重啓一遍 firewalld 服務ssh
# systemctl restart firewalld.service
7.檢查更改是否生效,若是有輸出80端口的信息就說明成功了curl
# firewall-cmd --zone=public --query-port=80/tcp
8.再次經過瀏覽器訪問ip,出現Apache的「It works!」頁面tcp