使用PM2永远运行NodeJs http-server

Guy*_*ans 16 httpserver node.js pm2

我的问题是关于与PM2一起运行HTTP服务器.

我面临的问题是:

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

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

/node_modules/http-server/lib$ pm2 start http-server.js -- /home/unixuser/websiteroot -p8686
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我也尝试过:

http-server /home/unixuser/websiteroot -p8686
Run Code Online (Sandbox Code Playgroud)

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

任何建议都会很棒,谢谢!

G M*_*Man 36

你几乎拥有它.

通过执行以下命令检查http-server所在的位置:

$ which http-server
Run Code Online (Sandbox Code Playgroud)

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

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

$ pm2 start /usr/bin/http-server --name my-file-server -- -p 8080 -d false
Run Code Online (Sandbox Code Playgroud)

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


Mad*_*dan 6

pm2 start <location>/http-server --name http-server -- -p <port> -d false
Run Code Online (Sandbox Code Playgroud)

或者

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

pm2 serve <path> <port>
Run Code Online (Sandbox Code Playgroud)