如何使用apache或iis等节点js
我是节点js的新手并且正在观看教程。但我对部署节点应用程序感到困惑。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
这是服务器文件代码。我正在运行此命令:%node example.js
这是在控制台上工作......
但是其他平台包含管理区域(Php,IIS,Tomcat)。 www文件夹包含应用程序文件运行服务背景。我们更改代码并保存它,但不重启服务。
我们在节点js平台上的js文件中指定所有内容。从控制台运行它。我无法理解运行和部署逻辑。
如果我有linux服务器或Windows服务器,我应该打开终端并为每个应用程序运行应用程序吗?如果我关闭终端我的申请会停止?
回答如下:在传统的PHP设置中,Web服务器与应用程序是分开的。设置如下所示:
[browser/client] => [apache/mod_php] => [index.php]
对于节点,情况有所不同,因为Web服务器是应用程序的一部分。所以你的设置如下:
[browser/client] => [node server.js]
那么,这对部署意味着什么呢?
通常意味着,您需要一个启动应用程序的主管,并在崩溃时重新启动它。复制新版本的应用程序时,只需使用主管的重启机制即可。
一些主管甚至在注意到应用程序的代码发生变化时会自动重启,这类似于PHP的更改和重新加载工作流程。
您可以使用的一小部分主管如下:
- https://github/remy/nodemon
- https://github/isaacs/node-supervisor
- http://supervisord/
但是有很多选择。
如果您从服务器上的终端启动应用程序,它通常只会在您终止终端会话之前运行。当服务器重新启动时(可能是由于电源或硬件故障),您必须手动重新启动应用程序。因此,主管应该是
- Windows:配置为服务(Auto start node.js server on boot)
- Linux:我只需使用Linux发行版的软件包管理安装supervisord,并将其配置为启动节点应用程序。或者,您可以连接到分发的init系统(创建init脚本)。不同的发行版通常具有不同的init系统。
此外,如果您需要
- 在一台服务器上运行的多个应用程序,甚至是节点和PHP
- 需要大多数Web服务器的一些内置行为,如服务静态内容,缓存,gzip,速率限制,SSL终止等。
你肯定需要在你的应用程序和客户之间使用reverse proxy
。
设置如下所示:
/=> [apache/mod_php] => [index.php]
[browser/client] => [reverse proxy] => [node server1.js]
\=> [node server2.js]
大多数Web服务器也可以配置为像反向代理一样工作。还有专门的反向代理。
如何使用apache或iis等节点js
我是节点js的新手并且正在观看教程。但我对部署节点应用程序感到困惑。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
这是服务器文件代码。我正在运行此命令:%node example.js
这是在控制台上工作......
但是其他平台包含管理区域(Php,IIS,Tomcat)。 www文件夹包含应用程序文件运行服务背景。我们更改代码并保存它,但不重启服务。
我们在节点js平台上的js文件中指定所有内容。从控制台运行它。我无法理解运行和部署逻辑。
如果我有linux服务器或Windows服务器,我应该打开终端并为每个应用程序运行应用程序吗?如果我关闭终端我的申请会停止?
回答如下:在传统的PHP设置中,Web服务器与应用程序是分开的。设置如下所示:
[browser/client] => [apache/mod_php] => [index.php]
对于节点,情况有所不同,因为Web服务器是应用程序的一部分。所以你的设置如下:
[browser/client] => [node server.js]
那么,这对部署意味着什么呢?
通常意味着,您需要一个启动应用程序的主管,并在崩溃时重新启动它。复制新版本的应用程序时,只需使用主管的重启机制即可。
一些主管甚至在注意到应用程序的代码发生变化时会自动重启,这类似于PHP的更改和重新加载工作流程。
您可以使用的一小部分主管如下:
- https://github/remy/nodemon
- https://github/isaacs/node-supervisor
- http://supervisord/
但是有很多选择。
如果您从服务器上的终端启动应用程序,它通常只会在您终止终端会话之前运行。当服务器重新启动时(可能是由于电源或硬件故障),您必须手动重新启动应用程序。因此,主管应该是
- Windows:配置为服务(Auto start node.js server on boot)
- Linux:我只需使用Linux发行版的软件包管理安装supervisord,并将其配置为启动节点应用程序。或者,您可以连接到分发的init系统(创建init脚本)。不同的发行版通常具有不同的init系统。
此外,如果您需要
- 在一台服务器上运行的多个应用程序,甚至是节点和PHP
- 需要大多数Web服务器的一些内置行为,如服务静态内容,缓存,gzip,速率限制,SSL终止等。
你肯定需要在你的应用程序和客户之间使用reverse proxy
。
设置如下所示:
/=> [apache/mod_php] => [index.php]
[browser/client] => [reverse proxy] => [node server1.js]
\=> [node server2.js]
大多数Web服务器也可以配置为像反向代理一样工作。还有专门的反向代理。