过去2天我花了更多时间阅读50多篇文章和视频来了解node.js,现在安装后我可以通过http//:localhost:3000/
在浏览器中看到结果但我在下面描述的许多情况下都很困惑
我在我的共享托管服务器上完成了所有工作,我保留了我的网站:www.myweb.com
在每篇关于node.js的文章中,他们都在教授如何通过本地pc服务器中的http//:localhost:3000/
在浏览器中通过以下代码获得结果。
test.js
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(3000);
console.log('Server running at http://localhost:3000/');
但是我的问题:
如果我在浏览器中使用http //:www.myweb.com / test.js`,上面的代码是什么?
如果是本地电脑,我们写在npm node test.js
,但是如果托管服务器什么时候任何克隆打开页面,如http//:www.myweb.com/test.js
如何工作?
在php的情况下,我们使用include(" head.php")从该页面获取内容但在这种情况下如何在node.js上进行调用。
< / LI> 醇>答案 0 :(得分:6)
那么,您需要了解的是http网络服务器的工作原理。
通常,在您的远程计算机(您的服务器)上,您有一个运行Web服务器(例如:apache)的实例,它正在侦听端口80(http请求的标准端口)。它将处理在该端口上发出的每个请求,并管理路由以使用正确的php / html文件。
然后,它将运行php代码服务器端,以呈现html文件并将其提供给服务器。所以客户端根本不会看到php代码。
让我们谈谈Node.js. Node是运行javascript代码服务器端的应用程序,可以使用某些模块运行http服务器。但javascript代码永远不会显示给您的客户端,他只会收到您发送给他的http响应(通常是html页面)。
现在,使用node.js,您需要通过创建http服务器来执行与apache服务器相同的操作。首先,您必须知道的是,没有那么多的网站主机提供node.js,甚至是控制台访问。它们通常用于放置在配置文件夹中的php / html文件,基本上就是这样。您需要的是虚拟机,或者可以在其上安装node.js并运行它的服务器,或者使用node.js托管服务(如heroku或nodejitsu)来托管您的node.js http服务器。
因此,要创建node.js http服务器,您需要创建一个http服务器(就像您在代码中所做的那样),并让它监听端口80.现在,每个发送到您服务器的http请求都将被处理由您的node.js实例。然后,您可以使用该请求执行任何操作。
我希望自己没有变得凌乱。
答案 1 :(得分:0)
您需要在服务器上安装NodeJS。如果这是无法安装其他软件的共享主机,那么您将无法使用NodeJS。在这种情况下,请联系您的网络托管公司支持并询问NodeJS支持。
另一方面,如果您在系统上拥有root用户或超级用户权限,则可以安装NodeJS。例如,对于CentOS / RHEL系统,您可以使用yum使用以下命令进行安装。
sudo yum install epel-release
sudo yum install npm
对于Linux的其他一些发行版:http://ask.xmodulo.com/install-node-js-linux.html
要从PC访问节点应用程序到服务器,还需要在服务器防火墙中打开Node应用程序使用的端口。