当前位置: 主页 > CentOS入门 > 系统配置 >

Centos7下启用端口

时间:2016-08-29 01:29来源:blog.csdn.net 作者:zp1996323的博客 举报 点击:

今天写了一下node的小demo,于是想放到阿里云服务器上,但是访问时却发生了错误。考虑了下,觉得问题在于端口号上,我写的nodedemo是监听的3000端口,然而linux下有防火墙默认只有80端口开放,于是尝试了下将服务器的3000端口打开,期间还是遇坑不少,下面就梳理下整个过程:

关闭防火墙

网上的大部分资料都是用iptables防火墙的,但是阿里云的centos 7默认防火墙是firewall。最为简单的方法其实就是关闭我们的防火墙:

  • 查看下防火墙的状态:
systemctl status firewalld

  • 关闭防火墙:
systemctl stop firewalld

这样就解决了,在访问下ip地址:端口号就可以看到所写的应用啦!  但是这样的问题是很不安全,其实可以将firewall服务禁用,应用iptables服务(网上大部分启用端口的资料都是基于iptables服务)。

安装iptables

由于没有防火墙会造成不安全,所以给服务器安装一应用更广的防火墙iptables,首先要禁用firewall,通过yum安装iptables

systemctil disable firewalld
yum install -y iptables-services

启动iptables

systemctl start iptables

启动后可以通过systemctl status iptables查看状态。

更改iptables规则

  • iptables文件备份下:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
  • 设置 INPUT 方向所有的请求都拒绝
iptables -P INPUT DROP
  • 放开所需端口
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 3000 -m state --state NEW -j ACCEPT
  • 保存规则
iptables-save > /etc/sysconfig/iptables
  • 设置为开机启动并且重启
systemctl enable iptables.service
systemctl reboot

这样就将所需的端口3000启用,进入到目录下运行node app.js,就可以来看nodedemo啦!  安利下一个小的脚手架:  https://github.com/zp1996/lsgo-cli

------分隔线----------------------------
发表评论
为了和诣的生活,我关闭了评论页面,请大家到QQ群里交流吧:348944156,也欢迎关注本站微信公众号:centoscn