心血来潮花了9块9(学生价)买了个阿里云。因为后端只会一点 Node,所以上来第一件事就是按照官方教程把部署 Node 项目这个教程撸了一遍。

问题描述

官方教程代码

const http = require('http');
const hostname = 'ECS公网IP地址';  // 这里把文字换成自己的公网IP地址
const port = 3000;
const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World\n');
});
server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);
});

一段简单最简单的 Node http服务器,成功运行后可以在页面输出 Hello World。

报错

报错了,因为之前写node只需要监听端口,没必要把IP地址也给写进去,所以我删了hostname,改成下面这样。

const http = require('http');
const hostname = 'ECS公网IP地址';  // 这里把文字换成自己的公网IP地址
const port = 3000;
const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World\n');
});
server.listen(port, () => {console.log(`Server running at http://${hostname}:${port}/`);
});

运行成功,但是在外网用浏览器输入IP地址之后无法访问。

问题分析

curl ip.cn

查询当前外网IP,没有问题,与阿里云提供的一致。

ping www.baidu.com

服务器可以访问外网

curl http://127.0.0.1:3000

正确输出 "Hello World",说明代码的编写没有问题。

代码没问题,服务器网络没问题,ip地址没问题。我估计应该是防火墙把端口禁掉了。

关闭防火墙

身为小菜鸟,第一时间想到的就是把服务器的防火墙关掉。我的服务器是 CentOS7.0 ,与6.0不一样,CentOS7.0默认使用 firewall 作为防火墙。

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止开机启动firewall

firewall-cmd --state #查看防火墙状态,已经处于关闭状态

开Node服务器,浏览器访问还是失败。

好像没招了,问小伙伴,他们说可能是没有备案的原因。但是没备案的小伙伴说他用得好好的,而且我就买了一个月的服务器,再等半个月备案我也不需要用了。正打算放弃问客服,小伙伴说你装个Nginx试试,只要正确运行Nginx而且服务器没问题直接访问IP地址就能出现Nginx首页了。

安装 Nginx

CentOS有两种方法安装Nginx,具体的自行谷歌吧。

安装完成,运行成功。

浏览器访问公网IP,无法访问。

从吃完中午饭13:00一直折腾到下午6:30左右,一动不动坐凳子上5个多小时了,不行了,休息吃完饭去。

解决

既然Nginx正确运行,那只剩两个问题了,一个是没有备案,不过这个问题的可能性很小很小。还有一点就是虽然我CentOS上把防火墙关了,但云服务器上阿里云应该会有一些安全措施,导致一部分端口被禁,或者压根就没有把端口打开。

吃完饭,散完步,我就在云服务器控制台里一个一个的找,发现安全组里点击配置规则后有一个安全组规则,里面通过添加安全组规则可以开放需要用到的端口。默认只打开了两个端口。



总结

这是一个简单的问题,不过需要一步步排除掉可能的原因。

如果身边有个后端或者运维的小伙伴在的话,应该可以很快意识到这个问题。独狼是走不远的,至少是走不快的。

其实在购买时就可以选取要开放的端口,第一次嘛,没有经验,都是直接默认选项。怪不得小伙伴说他服务器的配置都没有动过,应该是购买的时候就已经设置好的。

趁年轻,多踩坑。

博客首发地址:https://www.jianshu.com/u/13cd86311525

转载于:https://www.cnblogs.com/chaohangz/p/6893949.html

阿里云云服务器的端口配置问题相关推荐

  1. 阿里云服务器开放端口的正确方式(超详细图文教程)

    笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080.443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端 ...

  2. 阿里云服务器开放端口

    阿里云服务器开放端口 阿里云服务器默认是只开放了部分端口,我们部署自己的服务需要监听一下80,8080等端口时,就需要自己设置安全策略,本文介绍如何设置阿里云的安全组,开放需要的端口 步骤 点击阿里云 ...

  3. 阿里云服务器80端口被占用_微信公众号

    阿里云服务器80端口被占用 微信公众号默认端口是80且无法修改,在阿里云服务器上用docker启动jar包镜像,发现失败,提示端口被占用.在浏览器输入域名也是的,进的是centos的一个页面,要停掉占 ...

  4. 阿里云服务器的端口有什么用,常用的端口有哪些,如何配置

    服务器端口数最大有65535个,但是实际上常用的端口只有几十个,由此可以看出未定义的端口相当多.比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口 ...

  5. 解决阿里云服务器访问端口不通问题

    目标 阿里云服务器上部署应用,需要在公网上访问 问题 公网访问的话,应该使用公网ip地址,目前测试1935端口不通 排查范围 1.未在安全组开放1935端口与对应协议 2.云服务器的防火墙未开放193 ...

  6. 解决阿里云服务器telnet端口不成功的问题

    问题还原 阿里服务器部署了一个API站点,端口为8079,本地电脑怎么telnet到这个端口都不成功 排查 防火墙 要么把防火墙全部关闭,或者配置入站出站规则,这里我是直接关闭服务器的防火墙 查看端口 ...

  7. 阿里云服务器开启端口

    1.开启阿里云端口21 登录自己管理控制台 云服务器ECS->实例->管理->本实例安全组->配置规则->快速创建规则                    参考文章: ...

  8. 虚拟机linux开启端口 与阿里云服务器开启端口的方法

    在虚拟机中的情况下 1.用firewalld-cmd命令管理防火墙规则 1.1启用8080端口 firewall-cmd --zone=public --add-port=8080/tcp --per ...

  9. 阿里云服务器开放端口设置(超详细)

    登录阿里云账号后,点击控制台 点击自定义视图→再点击云服务器ECS 点击实例id进入实例: 点击本实例安全组: 点击安全组id或者配置规则进入安全组规则配置界面,可以选择添加方式,这里以手动添加作为演 ...

最新文章

  1. 2021年大数据Flink(三十四):​​​​​​​Table与SQL ​​​​​​案例一
  2. linux php应用多台服务器架构,Nginx+PHP-FPM在两台服务器实现
  3. 前端学习(2710):重读vue电商网站30之左侧菜单栏图标设计
  4. [HNOI 2006]鬼谷子的钱袋
  5. 小程序实现“类吸顶”效果交流处
  6. 什么是化工工程?重化工业包含哪些项目?
  7. ORB-SLAM3论文翻译
  8. matlab 正弦曲线平均值,如何用matlab做正弦曲线拟合
  9. 【五校联考2015 8.20】宝藏
  10. Java原始数据类型
  11. 三星搁置OLED面板工厂计划可能投资microLED
  12. SSH框架面试题(自己+别人的试题)
  13. OJ 1180 找树根和孩子
  14. 基于Quartus-FPGA制作蜂鸣器的相关教程
  15. Mac 设置允许任何来源软件运行
  16. 【数据结构】各种数据结构的特点介绍
  17. 传统开发有必要学Dubbo吗
  18. 存储异构,Elasticsearch如何充分利用存储空间
  19. SraToolkit工具下载与安装
  20. 教你用翻译软件快速阅读大量英文文献

热门文章

  1. 机器学习 感知机算法_0(Matlab实现)
  2. 华为笔记本matebook13_华为MateBook 13_HUAWEI MateBook 13(i5 8265U/8GB/256GB/独显)_笔记本导购-中关村在线...
  3. Struts1.2配置详解
  4. 详细讲解在Spring中进行集成测试AbstractDependencyInjectionSpringContextTests
  5. JavaEE5 Jax-ws 学习(Soap webservice)
  6. 使用IDEA创建一个Servlet应用程序
  7. ajax实现highchart与数据库数据结合完整案例分析(三)---柱状折线图
  8. start.s中的.balignl 16,0xdeadbeef
  9. js树形导航栏 jquery
  10. CMM中18个KPA