【问题标题】:Http-server running in background with nohup doesn't remain live使用 nohup 在后台运行的 Http 服务器不会保持活动状态
【发布时间】:2019-10-17 07:49:59
【问题描述】:

我有一个 ubuntu 服务器。我在上面传输了一些包含一些 js 和 html 代码的文件。

我使用 node.js 中的 http-server 来启动一个 Web 服务器,以便我可以在服务器上显示 html 页面。

我使用了 nohup,这样即使我断开或关闭系统,它也可以继续运行。

这是我使用的命令:

nohup http-server -p 8000 -a 10.4.145.182 & 

现在这可以帮助我将10.4.145.182:8000 上的文件可视化,但我注意到在服务器出现故障并且无法在浏览器中访问该 ip 上的 html 页面之后。

我认为 nohup 有助于在后台运行,即使关闭系统或注销服务器也是如此。

如何让这个网络服务器始终运行并且每个人都可以访问 url

谢谢

编辑:

根据下面使用 pm2 的建议,我安装了最新版本的 node,然后使用 pm2 启动服务。

它说服务已为 http-server 启动,但是当我在浏览器上使用端口 8000 访问 ip 时,它没有打开。

这是我在包含 html 和 d3 文件的目录中运行的命令。

$ pm2 start $(which http-server) -p 8000  

这是 pm2 的 shell 中的输出

【问题讨论】:

    标签: javascript node.js ubuntu httpserver


    【解决方案1】:

    试试这个:

    http-server & exit
    

    你也可以指定一个端口号:

    http-server -p 8082 & exit
    

    参考here

    【讨论】:

      【解决方案2】:

      我建议你使用 pm2 。长话短说,查看官方链接https://www.npmjs.com/package/pm2

      步骤: 安装:

      npm install pm2 -g
      

      运行您的应用程序:

      pm2 start app.js
      

      在你的情况下使用:

      pm2 start /usr/local/bin/http-server --  -p 8080
      

      为了重启工作运行:

      pm2 startup systemd
      

      取最后一行,更改用户和主路径并将修改后的行作为 SUDO 运行!!!你需要 sudo 访问权限!!!

      【讨论】:

      • 我没有这样的 js 脚本。我只是使用 http-server 启动一个 Web 服务器,然后在目录中有 html、d3 文件,我可以在 ip url 上可视化这些文件。如何在没有这个 js 脚本的情况下启动 Web 服务器
      • 请查看帖子
      • 我在我的文件所在的目录中执行了此操作。没啥事儿。我没有看到在该 ip 路径和端口上呈现的文件。我安装了pm2。现在在下面运行之后,我执行 pm2 list- 什么都不显示 pm2 start /usr/local/bin/http-server -- -p 8080 -a 10.4.145.182
      • 添加了编辑。 Pm2 工作,但 ip 没有在浏览器中打开
      • 对不起 :) 我用的是 8080 而你期望的是 8000 ,把端口改成 8000 :)
      猜你喜欢
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多