Nodejs pm2 serve 命令存在的意义?

发布于 1周前 作者 htzhanglong 来自 nodejs/Nestjs

Nodejs pm2 serve 命令存在的意义?

Starting pm2 2.4.0, you can use pm2 to serve your static files (like a frontend app) over http with a simple command :

pm2 serve <path> <port>

它说自己可以作为一个 frontend app 的服务器,可是连一些最基础的功能都没有(如 404 跳转),难道我还要在外面在套一层反代(如 nginx )?那我为什么不直接上反代?

反正我是懵逼的。有大佬能解惑不?


12 回复

就类似于 python3 -m http.server 呀


术业有专攻。可应急,不一定完美。

搭车

pm2 我在纠结还需不需要在套一个 Nginx。求个建议


套,spa pm2 不支持

是的,spa 就是存在我所说的 404 路由的问题。进入一个非首页的路由以后刷新页面,pm2 服务器会直接返回 404,因为它没法设置 404 跳转。

单独用 pm2 有什么不足?



我是用 web-local-server,写了一个 sh 文件,然后 pm2 跑 sh 文件解决的

它不支持 nginx 的 tryFiles,所以单页面没法直接用,一刷新就 404 了

spa 的路由不是可以直接写在代码里面吗

此路由非彼路由。

http 服务怎么不用 caddy ?

在Node.js生态系统中,pm2是一个非常流行的进程管理工具,它提供了强大的功能来管理、监控和部署Node.js应用程序。pm2 serve命令是pm2提供的一个便捷功能,它主要用于快速启动一个静态文件服务器,同时结合pm2的进程管理优势。

pm2 serve的意义

  1. 快速启动静态服务器: 对于前端开发或简单的静态网站托管,pm2 serve允许你无需配置复杂的Web服务器(如Nginx或Apache),即可快速启动一个静态文件服务器。

  2. 集成进程管理: 通过pm2,你可以享受到自动重启、负载均衡、日志管理等高级功能,这些在原生静态服务器中通常难以实现。

  3. 简化开发流程: 在开发过程中,你可以使用pm2 serve快速预览静态资源,同时利用pm2的热重载功能,在文件变化时自动刷新浏览器。

示例代码

使用pm2 serve非常简单,只需在命令行中运行以下命令:

pm2 serve /path/to/your/static/files 3000

这里,/path/to/your/static/files是你的静态文件目录,3000是服务器监听的端口号。

总结

pm2 serve命令为Node.js开发者提供了一个快速、轻量级的静态文件服务器解决方案,同时集成了pm2强大的进程管理功能,极大地简化了开发和部署流程。无论是前端开发、原型设计还是简单的静态网站托管,pm2 serve都是一个非常实用的工具。

回到顶部