为 Nuxt + Php 应用程序定义 Procfile 的正确方法
Posted
技术标签:
【中文标题】为 Nuxt + Php 应用程序定义 Procfile 的正确方法【英文标题】:Right way to define Procfile for Nuxt + Php application 【发布时间】:2018-10-18 02:42:59 【问题描述】:我使用 Nuxt.js 为 s-s-r 创建了一个应用程序,并使用 php 为 REST API 创建了一个应用程序。文件夹结构为:
客户端(用于 Node.js) 服务器(用于 PHP)经过研究,我发现在 Procfile 中进程类型应该定义为<process type>: <command>
。但是,如何使用这种文件夹结构运行我的应用程序?客户端命令为npm run start
,服务器为php -S localhost:8181 -t public public/index.php
【问题讨论】:
【参考方案1】:Procfile
条目需要有不同的名称,the web
process is the only one that receives HTTP traffic。因此,要拥有两个 web
进程,您需要将两个后端拆分为不同的 Heroku 应用程序。
【讨论】:
但是为什么我不能只在根 Procfile 中执行web: npm run start
和 api: php -S localhost:8181 -t public public/index.php
呢?或者类似的东西......
因为只有web
进程对外暴露,并且您需要web
和api
才能接收HTTP 流量才能使您的应用程序正常工作。 Procfile
中除web
之外的条目对守护进程、维护脚本和其他“内部”内容很有用,但不能将端口暴露给外部,因此它们不能用作面向外部的 HTTP 服务器。 TBH,实际上有人设法欺骗 Heroku 公开多个进程,但正如您可以想象的那样,它既不被批准也不容易做到:medium.com/@nadayar/…以上是关于为 Nuxt + Php 应用程序定义 Procfile 的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
Nuxt - 如何在 PHP 页面画布中补充 app.js?