摘要:因为项目开发工作接近尾声,需要将项目部署在服务器上,之前也没怎么玩过服务器,在部署过程中也遇到些坑,在此记录已温习之:
服务器防火墙、端口配置篇:
有些同学可能会出现在服务器上部署且成功启动项目后,仍访问不了,此时应该考虑服务器端口是否开放:
此处我用到的服务器为centOS 6.5,以此演示
1、查看当前服务器端口开放情况:
命令:/etc/init.d/iptables status
[root@centos ~]# /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9002
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9001
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
8 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
可以看到我当前已开放9001和9002等端口,如我的项目用的是9003,那即使项目成功启动也可能不能被访问到
2、新增端口:
新增命令:
/sbin/iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3488 -j ACCEPT
iptables 后面的-I 为insert,一般会在最上面;-A 为add,会显示在最下面(那个reject-with xxxx下面),还是无法访问,推荐之间用-I.
-D为删除端口
注意点:有些博客上命令直接是:
/sbin/iptables -I INPUT -p tcp --dport 55 -j ACCEPT
注意差别,-m state --state NEW -m tcp这段没有,显示如下,注意55和9002的差别,我的服务器上也不能访问,可能和服务器有关,可参考。
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:55
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9002
新增后保存更改,然后重启:
保存:/etc/rc.d/init.d/iptables save
重启防火墙:/etc/init.d/iptables restart
新增成功,再次查看端口状态:
如下情况我服务器上端口55依然是不可用的
[root@centos ~]# /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3488
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:55
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9002
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:9001
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
总结,说这么多就四个命令:
查看端口状态、新增端口、保存修改、重启防火墙
/etc/init.d/iptables status
/sbin/iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3488 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
Centos7使用防火墙和6不一样,命令有所不一样,但注意事项、步骤应该一致