为什么node.js不能在共享主机上运行?
第一件事:我search了所有已知的networking托pipe公司的共享主机nodejs,但我没有find任何人。 然后我才知道nodejs不能在共享主机系统上运行。 我想知道为什么?
第二件事:我是一个正常预算正常的家伙。 select一个虚拟服务器或专用服务器或云托pipe使节点运行,但它与我的零花钱范围相比,PHP共享托pipe服务,所以我应该学习node.js?
从理论上讲,它可以,但实际上取决于主机提供商有这样的基础设施。
与传统networking平台相比,节点是自我可持续的平台。 对于PHP(例如),它运行在apache或nginx(或任何其他)上,PHP自身只是脚本语言,一些库没有做太多的逻辑实现,需要Web服务器解决scheme。 Web服务器创build套接字来侦听特定端口的stream量,将会做自己的魔术,并执行PHP来处理请求。
同时,node.js创build自己的套接字,并将其绑定到自己的端口。 这使得它更低级的访问,所以它是自己的Web服务器。 你不能绑定到一个端口的两个应用程序,所以它已经无法比拟。
有服务(networking服务器),允许您创build代理来将stream量路由到您的node.jsstream程,但在某些情况下效率不高,共享主机不提供此类function。
由于node.js仍然相当年轻,而且是不同的,它仍然没有打击大部分共享主机服务。 在线有一些可用的服务以“共享”方式托pipe您的node.js应用程序。
此外,您可以在AWS上免费租用EC2 Micro实例(免费套餐)一年,这为您提供了充足的可能性和时间来尝试和testing不同的东西。 你会得到半专用的系统,在那里你可以做任何事情(安装软件,修改操作系统configuration,等等),共享主机不允许你这样做。
看看Heroku。 对于简单的低stream量的应用程序,他们是免费的,可以轻松扩展更多的stream量(增加成本)。 此外,你使用Git进行部署,所以很容易得到更新的东西…
还有其他方法可以部署node.js应用程序。
您可以使用PaaS服务,如Openshift , Heroku , AppFog , Paastor , dotCloud等。
节点不能像大多数服务器一样工作。 使用IIS和Apache时,有一台服务器运行多个站点,这就适用于共享环境。 使用Node,您正在运行自己的服务器,所以您倾向于在机器上共享资源。
我不能告诉你是否值得学习节点,因为我不知道你的动机,但如果你select去那里扩展你的职业机会,并扩大你的技能。
这里有一些低价位的托pipe选项。
其他优秀的节点应用托pipe选项还包括Joyent的SmartOS和Microsoft Azure。 两者都有免费试用期。
Azure可以成为node.js的一个很好的学习平台,因为您可以在Windows Server,Ubuntu Linux或Azure的特殊“网站”共享部署scheme中托pipe节点应用程序。
http://www.windowsazure.com/en-us/develop/nodejs/tutorials/create-a-website-(mac)/
节点应用程序托pipe的另一个成本有效的解决scheme是Azure的“网站”方法 – 每月大约10美元。 不利的一面是,您必须使用通过IIS托pipe您的节点应用程序的共享环境。 在实际中,这对我来说效果不错,但是在Windows上运行时,你不能使用某些Node的Linuxfunction,而且你也不会学习如何自己configuration节点服务,对你不重要 (注意:如果您想从本地GIT存储库部署您的应用程序,Azure的GIT部署过程将非常有效,同时请注意,NodeIIS会在节点应用程序未使用一段时间时停止该应用程序,并且会自动重新启动请求您的应用程序进来。)
Joyent的SmartOS平台是针对托pipenode.js应用程序而优化的Linux操作系统。 它们具有令人印象深刻的可靠性和性能以及出色的诊断工具
http://wiki.joyent.com/wiki/display/jpc2/Developing+a+Node.js+Application
目前为止,我发现的最具成本效益的解决scheme是DigitalOcean,这是一个非常棒的新托pipe解决scheme,您只需要每月5美元即可托pipe一台完整的Linux虚拟机。 到目前为止,我已经有很好的托pipe节点应用程序: https : //www.digitalocean.com/pricing
a2hosting允许Node.js共享主机,但没有经验。从networkingsearch发现
更新:使用DigitalOcean。 私人VPS