加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

node.js – 您是否设法在Heroku上设置节点nginx代理?

发布时间:2020-12-13 21:05:48 所属栏目:Nginx 来源:网络整理
导读:您是否设法在Heroku上设置节点nginx代理? 请你告诉我你在“git push heroku master”之前如何组织目录结构和每个目录中的文件?你使用哪个buildpack? 每次我执行“git push heroku master”时,我都会收到“推送被拒绝,没有检测到Cedar支持的应用程序”的消

您是否设法在Heroku上设置节点nginx代理?

请你告诉我你在“git push heroku master”之前如何组织目录结构和每个目录中的文件?你使用哪个buildpack?

每次我执行“git push heroku master”时,我都会收到“推送被拒绝,没有检测到Cedar支持的应用程序”的消息.我在“/ conf”目录中放了一个“nginx.conf.erb”文件.

谢谢.

最佳答案
我在heroku上使用了Node.js NGINX设置来完成很多项目.
这样,您就可以让nginx处理静态文件,缓存,代理到其他服务器以及代理多个节点进程.

使用multi-buildpack buildpack(https://github.com/ddollar/heroku-buildpack-multi).
它允许您指定一个引用多个buildpack的.buildpacks文件.
在我的.buildpacks文件中,我使用默认的Heroku Node buildpack,以及我重建的包含SSL支持的nginx buildpack的分支.

https://github.com/theoephraim/nginx-buildpack.git
https://github.com/heroku/heroku-buildpack-nodejs.git

nginx buildpack使用可以引用ENV变量的nginx.conf.erb文件.你必须告诉它在名为“PORT”的环境变量中监听heroku指定的端口

listen <%= ENV["PORT"] %>;

然后你的节点服务器启动你选择的任何端口,比如5001,在你的nginx配置中,你可以设置一个代理传递到你的节点应用程序:

location / {
  proxy_pass      http://127.0.0.1:5001;
}

注意 – 你的procfile需要使用一个特殊的start-nginx命令(nginx buildpack的一部分)然后调用你传递给它的任何其他东西.在我的情况下,我永远使用运行我的节点应用程序:

web: bin/start-nginx ./node_modules/.bin/forever app.js

在您的主节点文件中,您必须在成功启动时创建一个文件,以便向nginx buildpack发出信号,告知它应该开始监听

fs.openSync('/tmp/app-initialized','w');

有关如何在自述文件@ https://github.com/theoephraim/nginx-buildpack中使用nginx buildpack的完整说明

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读