首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在apache中运行Node.js?

在apache中运行Node.js?
EN

Stack Overflow用户
提问于 2013-01-17 07:35:57
回答 3查看 118.2K关注 0票数 82

我们在一台机器上安装了Apache We服务器,该服务器也使用Perl提供页面。

对于一个项目,我决定使用Node.js而不是Perl/Ruby。我想知道是否可以使用Apache作为我的web服务器(所以它提供页面),并使用Node.js动态创建web页面(这是为我正在创建的web应用程序创建的)?

因此,换句话说,它们可以像Apache/Perl或Apache/PHP那样携手工作吗?

EN

回答 3

Stack Overflow用户

发布于 2013-01-18 12:43:12

不是的。NodeJS不像mod-perl和mod-php那样可以作为Apache模块使用,因此不可能在Apache之上运行node。正如hexist所指出的,可以将node作为单独的进程运行,并安排两者之间的通信,但这与您已经使用的LAMP堆栈有很大的不同。

作为Apache的替代品,如果您有许多并发连接,node将提供性能优势。还有一个巨大的模块生态系统,几乎适用于你能想到的任何东西。

从您的问题可以看出,您不清楚是需要在每次请求时动态生成页面,还是只需要定期生成新内容以用于缓存和服务。如果是后者,您可以使用单独的节点任务将内容生成到Apache将提供服务的目录中,但这与PHP或Perl非常不同。

Node不是提供静态内容的最佳方式。Nginx和Varnish在这方面更有效。当Node处理动态数据时,它们可以提供静态内容。

如果您正在考虑将node用于web应用程序,Express应该是您的首选。你可以完全在Node中实现web应用,但是Express (以及类似的框架,如Flatiron,Derby和Meteor)的设计是为了消除很多痛苦和单调乏味。尽管Express文档一开始可能看起来有点稀疏,但请查看仍然可以在此处获得的屏幕投射:http://expressjs.com/2x/screencasts.html,它们将让您很好地了解express提供了什么,以及它为什么有用。ExpressJS的github存储库还包含许多很好的示例,涵盖了从身份验证到组织应用程序的方方面面。

票数 45
EN

Stack Overflow用户

发布于 2018-03-01 04:12:10

你总是可以做一些shell-scripty的事情,比如:

#!/usr/bin/node

var header = "Content-type: text/plain\n";
var hi = "Hello World from nodetest!";
console.log(header);
console.log(hi);

exit;
票数 1
EN

Stack Overflow用户

发布于 2013-12-16 04:49:01

在进行自己的服务器端JS实验时,我最终使用了teajs。它符合common.js,基于V8,是我所知道的唯一一个提供'mod_teajs‘apache服务器模块的项目。

在我看来,Node.js服务器还没有为生产做好准备,而且缺乏太多的功能-- Apache已经经过了战斗测试,这是做SSJS的正确方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14369865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档