运行 永远使用 PM2 的 NodeJs http 服务器

Running NodeJs http-server forever with PM2

我的问题是关于 运行ning HTTP 服务器与 PM2 的结合。

我面临的问题是:

  1. HTTP 服务器需要输入一个文件夹,该文件夹是网站的根目录和 运行 网站的端口号。
  2. PM2 无法识别 HTTP-server 命令,即使在使用 -g 选项安装 HTTP-server 时也是如此。

所以我尝试了以下操作(注意应该将参数传递给 HTTP 服务器脚本的双破折号:

/node_modules/http-server/lib$ pm2 start http-server.js -- /home/unixuser/websiteroot -p8686

但是没用。

我也试过:

http-server /home/unixuser/websiteroot -p8686

哪个有效,但没有 pm2 的大力支持?

有什么建议就太好了,谢谢!

你几乎成功了。

通过执行以下命令检查 http 服务器所在的位置:

$ which http-server

你应该得到这样的东西/usr/bin/http-server

然后cd到您要从中提供文件的目录并执行:

$ pm2 start /usr/bin/http-server --name my-file-server -- -p 8080 -d false

--name my-file-server 是可选的,但需要 -- 才能将参数传递给 http-server 命令。

如果我们有一个由 grunt 生成的构建,那么转到它的路径并点击:

~/app/build/prod$ sudo pm2 start /usr/local/bin/http-server -p 8080

现在在 localhost:8080

查看应用程序状态
pm2 start 'http-server-spa websiteroot index.html 8080'
pm2 start <location>/http-server --name http-server -- -p <port> -d false

PM2 模块本身有内置静态文件供服务,类似于 http-server https://pm2.keymetrics.io/docs/usage/expose/

pm2 serve <path> <port>