Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器上运行Node.js_Javascript_Node.js - Fatal编程技术网

Javascript 在服务器上运行Node.js

Javascript 在服务器上运行Node.js,javascript,node.js,Javascript,Node.js,因此,我在服务器上安装了Node.js 然而,我对下一点有点困惑。我花了几个小时研究Node.js,但似乎找不到任何关于我要找什么的清晰信息 在我的主机PC上,我可以通过命令提示符运行Node.js并在浏览器中加载localhost:port。这个很好用。然而,我不知道这将如何转化为在我的VPS上使用Node.js。正如我提到的,它已经安装好了。但是,我如何在程序中实际使用Node.js,并在需要时能够在页面上访问它呢 我通常是一名PHP开发人员,但我正利用这个机会深入到Node的世界中,学习它

因此,我在服务器上安装了Node.js

然而,我对下一点有点困惑。我花了几个小时研究Node.js,但似乎找不到任何关于我要找什么的清晰信息

在我的主机PC上,我可以通过命令提示符运行Node.js并在浏览器中加载localhost:port。这个很好用。然而,我不知道这将如何转化为在我的VPS上使用Node.js。正如我提到的,它已经安装好了。但是,我如何在程序中实际使用Node.js,并在需要时能够在页面上访问它呢

我通常是一名PHP开发人员,但我正利用这个机会深入到Node的世界中,学习它,并开始使用它而不是PHP


感谢您的帮助。

Node.js与您习惯使用PHP的方式有点不同,它并没有取代PHP,而是取代PHP和Apache

您的Node.js程序负责接受每个请求并决定如何响应。它不仅仅是你可以“在需要时访问页面”的东西,它还服务于页面本身

例如,不提供包含访问
时要运行的代码的
index.php
http://example.com/
,您的Node.js服务器将包含访问时要运行的代码
http://example.com
,并决定如何处理路径
/

index.php Node.js通常与Apache或Nginx或[insert server here]一起使用,将外部请求转发到内部Node.js服务器

如果所有这些听起来有点让人望而生畏,并且您在想“为什么我不能将Node.js嵌入到像PHP这样的页面中呢”,那么总会有一些问题。但是,它可能不适合生产使用,此时您可能不使用Node.js,因为您将无法访问任何异步API,其中几乎包括所有内容


我推荐博客系列,它是Node.js主要概念的一个很好的介绍。

这取决于VPS上是否已经安装了web服务器,或者80端口是否免费。如果是免费的,您可以使用端口80运行节点应用程序。如果没有,请使用任何其他可用端口运行它,并指示80上正在侦听的任何web服务器将任何请求转发到所需的端口。直接在端口
80
上运行节点应用程序(或任何其他web应用程序框架)被视为不好的做法。由于在端口
1024
下运行的服务必须以root用户身份运行,因此您正在为可能包含漏洞的应用程序代码授予完全权限。相反,在端口
80
上运行经过良好测试的生产就绪服务器,如Apache或Nginx,充当Node.js服务器的代理,只能从运行在非特权端口上的同一台机器上访问。好的,谢谢您的评论!非常感谢:)但我确实有另一个非常不切实际的问题,在我的windows机器上,为了运行node.js,我需要保持命令提示符运行。我如何在服务器上复制它?我需要做什么吗?或者,代码是否仍会运行,而不需要保持某些打开状态(如果您理解我的意思的话)?谢谢。Node.js需要运行来处理请求,它不像PHP那样按请求运行。保持其运行的标准方法是创建一个运行的或。再次感谢!我将安装它,并希望看到会发生什么。我感谢你的耐心和帮助!
<?php
echo 'Hello world';
var http = require('http');
http.createServer(function(req, res) {
  if(req.url === '/') {
    res.end('Hello world');
  } else {
    res.statusCode = 404;
    res.end(req.url + ' not found');
  }
}).listen(3000);