【问题标题】:How to run simple node.js Hello World program in linux dedicated server如何在 linux 专用服务器上运行简单的 node.js Hello World 程序
【发布时间】:2014-07-03 17:21:36
【问题描述】:

我对 node.js 编程很陌生。我正在使用linux专用服务器。我已经在我的服务器(linux)中安装了 node.js。

我正在使用以下 php 程序运行 linux 命令,因此我可以通过这些 linux 命令运行 node.js 程序

test.php:

exec('node test.js &', $a1,$a2);
print_r($a1);
echo $a2;

运行此程序后,它显示以下 o/p:

Array ( ) 0

但不返回 $a1 变量中应显示“Hello World”的任何值

test.js:

var http = require("http");
http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

我也尝试使用端口 3000 和 8000。

【问题讨论】:

  • 为什么要用 php 脚本运行 nodejs?
  • 什么给了你var_dump(function_exists('pcntl_fork'));
  • 与节点 http 服务器对话并捕获响应的部分在哪里?
  • 我的项目有这样的要求。实际上我想要演示应用程序,在同一张幻灯片上会有一个控制器和 n 个用户(比如 10k 或以上)。还有其他建议吗?
  • @dandavis:正如我所说,我是 nodejs 的新手。相同的代码在我的本地机器(Windows 操作系统)上运行,但不在服务器(Linux)上运行

标签: javascript php linux node.js


【解决方案1】:

有一次我看不到相同的代码如何在 Windows 上运行,但在 Linux 上却看不到。特别是因为您的 php 包含 UNIX 语法。

请不要使用 PHP 作为 Node.js 的桥梁,它只会扼杀 Node.js 的所有意义。


您需要做的是在该 linux 机器的 Shell 中运行一个命令:

node test.js

它会启动一个进程,不要退出它。

进程运行后,您将能够通过浏览器导航到您的Hello World,该 URL 将基于您选择的服务器 IP 和端口,例如:

http://1.2.3.4:8888/

如果这不能回答你的问题,那么请澄清一下你到底想要实现什么。

【讨论】:

  • 我是在 linux 本地服务器上完成的,它工作正常。但我需要让它在无法访问 shell 的 linux 专用托管服务器上运行。有没有其他方法可以通过 PHP 运行它?我正在开发一个实时演示 Web 应用程序(类似于presentation.io),演示者将控制幻灯片,用户将在同一张幻灯片上。我读过 node.js 可以完成这项工作。让我知道是否还有其他选择。请指教。
  • 你是如何在没有 shell 访问权限的情况下安装 node.js 的?
  • 它由linux服务器技术支持团队安装。
  • 如果我运行以下 php 程序,那么它给出的 o/p 为: – Array ( [0] => Hello World ) 0 (这意味着这个 Hello World 程序运行成功) PHP 程序: exec('node test.js &', $a1,$a2); print_r($a1);回声 $a2; test.js 程序 console.log("Hello World");
猜你喜欢
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 2021-02-14
  • 2016-08-01
  • 2014-09-05
相关资源
最近更新 更多