让 Opsworks 使用该命令NODE_ENV=production node server.js
启动应用程序的最佳方法是什么?
问问题
1020 次
1 回答
2
最佳解决方案:在 Chef 11.10 堆栈中使用环境值。Opsworks 环境变量参考
选择:
默认情况下,当前不支持将其作为环境选项。所以你需要添加它。
我假设您使用的是最新的 Chef 11.4 食谱。
修改(第 2 行):
opsworks_nodejs/templates/default/node_web_app.monitrc.erb
从 :
start program = "/bin/sh -c 'cd <%= @deploy[:deploy_to] %>/current; /usr/bin/env NODE_PATH=<%= @deploy[:deploy_to] %>/current/node_modules:<%= @deploy[:deploy_to] %>/current /usr/local/bin/node <%= @monitored_script %>'"
至 :
start program = "/bin/sh -c 'cd <%= @deploy[:deploy_to] %>/current; /usr/bin/env NODE_PATH=<%= @deploy[:deploy_to] %>/current/node_modules:<%= @deploy[:deploy_to] %>/current NODE_ENV=production /usr/local/bin/node <%= @monitored_script %>'"
我对官方食谱进行了一系列更改,并提出请求将其添加到官方食谱中。如果您愿意 - 您可以查看更改:https ://github.com/nappa32/opsworks-cookbooks/tree/add_support_for_node_env_for_expre
于 2014-03-06T07:55:08.000 回答