使用PM2永远运行NodeJs http-server

时间:2015-08-04 09:02:11

标签: node.js httpserver pm2

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

我面临的问题是:

  1. HTTP-server需要输入一个文件夹作为网站的根目录和一个用于运行网站的端口号。
  2. 即使使用-g选项安装HTTP服务器,PM2也无法识别HTTP-server命令。
  3. 所以我尝试了以下内容(注意应该将参数传递给HTTP服务器脚本的双破折号:

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

    但它不起作用。

    我也尝试过:

    http-server /home/unixuser/websiteroot -p8686
    

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

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

4 个答案:

答案 0 :(得分:33)

你几乎拥有它。

执行以下命令检查http-server的位置:

$ 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命令。

答案 1 :(得分:0)

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

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

现在检查localhost:8080

处的应用状态

答案 2 :(得分:0)

pm2 start 'http-server-spa websiteroot index.html 8080'

答案 3 :(得分:0)

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>