我在我的机架空间服务器上使用 node.js 来为我的各种应用程序提供服务。(使用 node-http-proxy)。
但是,我想创建一个 wordpress 博客。为博客提供服务的唯一方法是通过 apache(或 nginx)。
有没有办法从 node.js 应用程序本身为我的 wordpress 博客提供服务?
您需要运行一些服务器来执行 PHP。节点是 JavaScript。
无论是 apache,还是 nginx/php-fpm 或只是 php-fpm,您都需要一些东西来实际运行 wordpress 代码,然后使用您现在使用的相同代理系统。
一种选择是像往常一样继续使用 Wordpress,但不是编写模板来输出 HTML,而是让它们输出 JSON。通过这个小技巧,您突然创建了自己的 API 来输出您的 wordpress 内容。与公开 wordpress 完整方法集的模块相比,这将创建您非常具体的输出,根据您的需要量身定制。
要使用 JSON 输出,您需要设置一个小型 nodejs 服务器,将每个调用直接转发到您的 Wordpress 解决方案,获取响应 (JSON) 并使用您喜欢的任何 javascript 模板引擎将其与您的 html 合并。您还可以提高速度,因为您可以很容易地在节点端缓存 JSON 结果并进行控制。
如果您想阅读更多内容,我已经写了一篇关于此的博文,并且还创建了一个 nodejs express 中间件来帮助设置节点端。
你可以试试express-php-fpm包。
它结合了 Express(Node.js 服务器)和 FastCGI 网关来服务 php 请求。
I found this node module while searching for Wordpress + Node:
https://github.com/scottgonzalez/node-wordpress
I haven't tried it, though, but if you know what you're doing you might want to give it a go.
WordPress 现在有一种“官方”(准确地说:开源,在 Automattic 的 github 存储库下)的方式来执行此操作:wpcom.js。从那个github页面:
用于 WordPress.com REST API 的官方 JavaScript 库。与 Node.js 和 Web 浏览器兼容。
本质是从JS调用WordPress REST API 。
我最近需要在电子应用程序中安装一个服务器来服务 PHP。我从Sindre Sorhus的grunt-php开始。我所做的主要更改是删除在 grunt 完成时杀死服务器进程的代码,而是从 JS 实例化 PHP 类并根据需要调用该进程。最终,调整 grunt-php 以在 node.js 服务器上启用 PHP 非常容易。