我在后端有一个Apache和PHP的Web应用程序.我正在使用许多新功能进行增强,并考虑将node.js用于新工作.
首先,PHP和node.js可以存在于同一台机器上吗?我不明白为什么不.其次,我可以直接从Javascript调用node.js代码并返回JSON吗?
Adr*_*agg 11
是的,是的.Node和Apache/PHP可以在一台服务器上共存.
您可能遇到的唯一问题是他们不能同时监听同一个端口.默认情况下,HTTP在端口80上运行,并且任何时候只有一个进程可以在单个端口上"监听".因此,您可能必须在不同的端口(例如,8080)上运行Node应用程序,如果您的任何目标用户仅限于端口80,则可能会带来困难.
您可以在同一服务器上甚至在同一端口上运行节点和PHP。关键是要使用像nginx这样的服务器在前端监听端口80,像往常一样在Nginx中设置PHP(使用php-fpm),并设置Node实例以在某些高端口(例如8081)上进行本地监听。
然后只需配置nginx即可使用目录名称作为过滤器将所有节点请求代理到本地主机:8081。本质上,您是在设置nginx来对待Node请求,就像对待PHP请求一样:它将它们转发给其他守护程序,然后在返回时处理响应。Nginx擅长于此并且擅长一次管理多个连接。
这样做的另一个好处是,您也可以在不同的域上拥有多个单独的Node实例,并使用常规的nginx规则来处理所有这些实例。您还可以将其与其他应用服务器(如Go编写的应用)一起运行。您也可以使其非常安全。
而且,您还可以从Nginx的可配置性,其SSL和HTTP / 2支持以及提供静态文件的巨大速度中受益,而不必从Node应用程序提供静态文件(如果您不想这样做)。
归档时间: |
|
查看次数: |
9179 次 |
最近记录: |