nodejs项目云端部署初试

背景

最近使用nodejs写了一个表单注册,使用mongodb实现数据的持久化处理。在填完一个一个的坑之后,在本地可以跑通项目了。但是自己看总不行吧,最后还是需要部署到云端,万事俱备只欠东风了。

要求

第一次在服务端部署项目,不管部署正确与否,重点是要在外网的客户端能够访问到项目

  • 首先是按照本地测试和搭建Nodejs的环境以同样的操作在服务端进行操作。这是一开始的思路,因为好的一点是公司的服务器是windows操作系统,比较人性化。

挑战

  1. 将nodejs和mongodb及相应的mongodb的客户端管理工具一起复制到云服务器上的指定目录。
  2. 安装上述三个工具,统一默认c盘,因为只有一个盘
  3. 使用 node -v 测试nodejs的环境安装是否成功。
  4. 使用 mongodb客户端连接mongodb数据库,执行相应的数据库操作命令测试数据库是否安装成功。
  5. 都ok之后,将本地项目复制到云 服务器 项目的指定目录,然后使用node启动项目的 app.js,记得端口号不能冲突 ,测试项目能不能在云上跑起来。
  6. 一切都还算顺利,和本地测试一样,都跑起来了

问题

在服务器上和本地测试都没有问题啦,但是如何让项目暴露在外网之下,让更多用户去访问呢?纠结纠结纠结~~~
思来想去好像见过java项目的部署,话说就是见过,但就是不会。
开始百度学习吧,百度了半天也没个搞明白 ,就只知道使用 nginx 做反向代理 。看了半天的就只知道nginx只是一个服务器,类似与tomcat,Apache,IIS等
最后关键一步如何才能打通呢,问了别人还是没有搞定,怎么办怎么办 ?

  • 晚上看了会博客,突然脑洞大开,似乎明白了什么。
  • 首先通过我们的服务器 IP 地址就可以访问到我们的原始网站根目录,默认端口为80。是不是明白了什么了,使用 IP+端口号的方式 是不是 就可以访问了呢?
  • 试试呗,我们都知道 80 端口是默认的web服务,但是我们的云上已经部署了项目,肯定不能用80端口访问了,不管先试试,果然在意料之中,使用 IP+80端口号直接访问的时候自动跳转到了原始项目上,然而我们的新项目还是不能访问到?
  • 其实到这一步已经离结果越来越近了。仔细想想,既然我们的80端口号被占用了,那我们是不是可以换一个端口号呢,嗯 ,这样似乎是可以的,因为我们的node项目服务器本身就是使用localhost:端口号来访问的,比如 localhost:3000 .
  • 在服务器上的 localhost:8080 岂不是 相当于 服务器的 IP+8080么(前提是8080端口号没有被占用),呀,很惊奇 ,迫不及待的去试试,呜呜呜,结果还是不行。
  • 不对啊,逻辑似乎通了,想想以前所说的一个端口号对应一个服务,那这样的话就是没问题的。
  • 原来最激动人心的时刻还在这里,在腾讯云服务器如何开启端口:原来在服务器上时需要开启端口的,只有开启不同的端口,才能对应到不同的服务。

服务器端口的开启

  1. 首先进入云主机-控制台
    这里写图片描述
  2. 点击配置安全组
    这里写图片描述
  3. 点击添加规则
    开放端口 22,80,8080等,这样服务器的端口就开放了

效果预览

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yw00yw/article/details/81952138