通过LAMP搭建的网站,php能不能启动 node.js或python的任务,响应网络请求?

通过LAMP搭建的网站,php能不能启动 node.js或python的任务,响应网络请求?

通过LAMP搭建的网站,php能不能启动 node.js或python的任务,响应网络请求?

我有个网站是以前常用的linux+Apache+Mysql+PHP, 然而github上有很多需求功能 都是用node.js或python编写, 缺少php编写的版本。

我发现通过80端口的网络请求,都被apache默认为通过PHP处理,

所以想问,如何在LAMP搭建的网站上启动 node.js或python的任务,响应网络请求?

我个人没学过node.js或python,所以一无所知


回答:

“通过LAMP搭建的网站,php能不能启动 node.js或python的任务,响应网络请求?”

能,如果你的 Node.js 和 Python 应用都是 Web 应用,那么启动之后,其应当会在本地监听一个端口,以用于处理 HTTP 请求,这时候你就有 2 个选择。

1、使用 Apache 或者 Nginx 等的代理(Proxy) 功能,把特定路径下的请求转发到对应的 Node.js 或者 Python 所监听的端口。

2、在 PHP 中,直接使用 curl 或者 file_get_content 的请求监听的端口,即在代码层面实现一个 Proxy,这样也能访问到背后的 Node.js 或者 Python 应用。

如果你的 Node.js 和 Python 应用不是一个 Web 应该,而是一个命令行工具,那这种就是比较常见的情况,这种情况你就可以在 php 中使用如:exec、shell_exec、system 或者 Symfony/Process、FFI 这些方式直接使用 PHP 去执行这些命令,就像你在 Terminal 上执行这些命令一样(可能需要完整的可执行文件路径,并且关心权限问题,毕竟你直接执行时,是有相关环境变量的,而 PHP 执行时,是在 www 或 apache 用户上的)。需要注意命令安全问题,避免拼接不安全的命令进行执行,从而造成安全问题


回答:

py node可以自己做服务器 没必要使用nginx代理一层 非要代理一层也可以,直接proxy或者rewrite就可以 php是使用cgi接口 不一样

以上是 通过LAMP搭建的网站,php能不能启动 node.js或python的任务,响应网络请求? 的全部内容, 来源链接: utcz.com/p/938497.html

回到顶部