最近有个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