一次 node 项目部署后的随想

2023-02-02  本文已影响0人  VioletJack

关于部署

服务器部署按道理来说,应该要一步一步来。一个 node 项目的部署需要下面这些。

不过这次用的腾讯的宝塔面板,倒是省去了不少功夫。

前端部署

直接通过宝塔面板的【文件】上传功能,把静态 HTML 文件上传到了 /www/server/nginx/html 路径下,这里是宝塔面板的 Nginx 默认放网页的地方。直接替换后就可以通过公网 IP 进行访问了。

后端部署

后端的部署并没有用 shell 命令启动 pm2 或者 egg.js 的服务,而是通过宝塔面板的【网站 - Node 项目】来创建。

  1. 首先,通过 git 将项目 clone 到服务器上
  2. 宝塔面板上,添加 Node 项目。
  3. 选中项目目录,并选择 node 项目启动命令,命令是 package.json 中的 script 中定义的。
  4. 选择 node 版本,然后创建项目就好了。

node 项目的运行、启动和停止

在一次次运行 node 启动命令的过程中,不禁引起了我对于这方面的思考。

  1. node 最基本的用法是通过 node index.js 命令执行一个 JavaScript 文件,执行完成后立即退出。
  2. node 也可以通过 http 模块创建一个简单地接口请求服务,通过 listen 方法监听指定端口。这种情况下服务会持续监听,不会断开。
  3. node 代码每次变化后都需要重新执行启动命令,比较麻烦。于是就有了 nodemon 模块,每当代码发生变化后,都会自动执行启动命令。
  4. 无论是 node 还是 nodemon 命令,在 shell 窗口关闭后都会终止服务。于是有了 pm2 这样的工具让 node 服务可以在后台持续运行。
  5. 而到了我使用的 egg.js,他也拥有 pm2 一样管理 node 服务的能力。详见文档

关于后端的 MVC

之前我一直不知道后端项目到底长啥样。在学习了一些后端课程,又加以实践后,我隐约对后端开发有了些自己的理解。

关于我的项目

目前在基于 puppeteer 做一个爬虫工具,用来帮助老婆爬取公司系统数据,然后帮她自动分析、核对数据,产出分析报告网页以及导出 excel 文件。目前实现了爬虫部分的逻辑,并起了定时任务每天爬取一次。(希望她们公司别发现我,ORZ)后续计划:

最后

以上观点仅为一个后端菜鸟的思考,如有任何问题欢迎大佬批评指正~

上一篇 下一篇

猜你喜欢

热点阅读