首页 后端开发 php教程 在虚拟主机上布署Nodejs的可行性分析 nodejs.org nodejs api nodejs安装教

在虚拟主机上布署Nodejs的可行性分析 nodejs.org nodejs api nodejs安装教

Jul 29, 2016 am 08:52 AM
nodejs 可行性分析

问题

Godaddy上一个主机可以挂多个网站(比如说PHP网站),那么Node.js的网站是否也可以作为其中一个网站搭在Godaddy上面呢?

虚拟主机实现

要回答这个问题,我们需要先来分析一下虚拟主机的实现方式。以apache为例。
在apache服务器中,虚拟主机是由apache本身就支持的(可以查看:https://httpd.apache.org/docs/current/vhosts/ ),只需要配置apache的配置文件,就可以把多个网站布署在同一台主机上面。

Node.js是否可以同其它网站同时布署在虚拟主机上面?

首先我们要知道,Node.js是自带服务器的(这点跟PHP不一样,PHP只是一个CGI脚本,运行在支持CGI脚本的服务器上面,比如说apache,nginx等)。所以如果要让Node.js运行在Godaddy的虚拟主机上面,那么就不可以使用Godaddy的虚拟主机服务器配置了。就算在虚拟主机上面安装了Nodejs,在cPanel把新域名指定到nodejs文件夹下?但代码是不会运行的,因为这种方式也是主机服务器运行CGI脚本的方式,而Node.js不是CGI脚本而且自带服务器,显然不能由主机服务器运行。所以如果要以简单直接的方式把Node.js布署到虚拟主机上是不可行的。

Node.js布署在虚拟主机上的不正统方式

如果非要布署Node.js到虚拟主机上呢?办法也是有的,但是不正统,最好不用。
方法一:
使用CGI-Node,CGI-Node可以像PHP一样作为CGI脚本运行,在Godaddy上面的配置也已经有教程了,但是它是不符合我们的需要的,它其实是一种PHP编码方式的模拟,不使用Node.js自带的服务器意味着express的框架可能无法用。这种改变编码方式的方法,显然是不能符合我们的情况的。
方法二:
使用服务器代理。apache服务器本身支持代理的功能,可以把特定的请求链接发到另一个链接去处理,然后把处理结果返回(参考:http://stackoverflow.com/questions/9831594/apache-and-node-js-on-the-same-server )。这时我们只需要在虚拟主机把node.js运行在http://localhost:3000下,然后在apache里配置把http://www.example.com/node开头的链接全部代理给localhost:3000,这样,我们就间接地可以让node.js布署在虚拟主机上面了。但问题是,我们要如何去配置虚拟主机的apache配置文件?明显这个很难做到。

总体上来讲,方法二要好于方法一,但都不具有可行性。

结论

如果要把Node.js单独布署在虚拟主机上,那么方法其实跟我们在本地是一样的(当然,我们的虚拟主机要是那种比较高级的可以登录操作系统界面或SSH的虚拟主机)。但如果要跟其它网站比如说PHP之类的,同时布署在同一台计算机上面,如果你能修改服务器配置文件,那么可以参考前面的方法二,如果你不能,那么就几乎没有什么好的方法了。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了在虚拟主机上布署Nodejs的可行性分析,包括了NodeJS,可行性分析方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

nodejs和tomcat区别 nodejs和tomcat区别 Apr 21, 2024 am 04:16 AM

Node.js和Tomcat的主要区别在于:运行时:Node.js基于JavaScript运行时,而Tomcat是Java Servlet容器。I/O模型:Node.js采用异步非阻塞模型,而Tomcat是同步阻塞的。并发处理:Node.js通过事件循环处理并发,而Tomcat使用线程池。应用场景:Node.js适用于实时、数据密集型和高并发应用程序,Tomcat适用于传统Java Web应用程序。

nodejs和vuejs区别 nodejs和vuejs区别 Apr 21, 2024 am 04:17 AM

Node.js 是一种服务器端 JavaScript 运行时,而 Vue.js 是一个客户端 JavaScript 框架,用于创建交互式用户界面。Node.js 用于服务器端开发,如后端服务 API 开发和数据处理,而 Vue.js 用于客户端开发,如单页面应用程序和响应式用户界面。

nodejs是后端框架吗 nodejs是后端框架吗 Apr 21, 2024 am 05:09 AM

Node.js 可作为后端框架使用,因为它提供高性能、可扩展性、跨平台支持、丰富的生态系统和易于开发等功能。

nodejs怎么连接mysql数据库 nodejs怎么连接mysql数据库 Apr 21, 2024 am 06:13 AM

要连接 MySQL 数据库,需要遵循以下步骤:安装 mysql2 驱动程序。使用 mysql2.createConnection() 创建连接对象,其中包含主机地址、端口、用户名、密码和数据库名称。使用 connection.query() 执行查询。最后使用 connection.end() 结束连接。

nodejs安装目录里的npm与npm.cmd文件有什么区别 nodejs安装目录里的npm与npm.cmd文件有什么区别 Apr 21, 2024 am 05:18 AM

Node.js 安装目录中有两个与 npm 相关的文件:npm 和 npm.cmd,区别如下:扩展名不同:npm 是可执行文件,npm.cmd 是命令窗口快捷方式。Windows 用户:npm.cmd 可以在命令提示符下使用,npm 只能从命令行运行。兼容性:npm.cmd 特定于 Windows 系统,npm 跨平台可用。使用建议:Windows 用户使用 npm.cmd,其他操作系统使用 npm。

nodejs中的全局变量有哪些 nodejs中的全局变量有哪些 Apr 21, 2024 am 04:54 AM

Node.js 中存在以下全局变量:全局对象:global核心模块:process、console、require运行时环境变量:__dirname、__filename、__line、__column常量:undefined、null、NaN、Infinity、-Infinity

nodejs是后端开发语言吗 nodejs是后端开发语言吗 Apr 21, 2024 am 05:09 AM

是的,Node.js 是一种后端开发语言。它用于后端开发,包括处理服务器端业务逻辑、管理数据库连接和提供 API。

nodejs和java的差别大吗 nodejs和java的差别大吗 Apr 21, 2024 am 06:12 AM

Node.js 和 Java 的主要差异在于设计和特性:事件驱动与线程驱动:Node.js 基于事件驱动,Java 基于线程驱动。单线程与多线程:Node.js 使用单线程事件循环,Java 使用多线程架构。运行时环境:Node.js 在 V8 JavaScript 引擎上运行,而 Java 在 JVM 上运行。语法:Node.js 使用 JavaScript 语法,而 Java 使用 Java 语法。用途:Node.js 适用于 I/O 密集型任务,而 Java 适用于大型企业应用程序。

See all articles