让Opsworks使用命令NODE_ENV=production node server.js
启动应用程序的最佳方法是什么?
答案 0 :(得分:2)
最佳解决方案:在Chef 11.10堆栈中使用环境值。 Opsworks Environment Variables Reference
替代方案:
默认情况下,目前不支持此选项作为环境选项。所以你需要添加它。
我假设您正在使用最新的Chef 11.4烹饪书。
修改(第2行):
opsworks_nodejs/templates/default/node_web_app.monitrc.erb
FROM:
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 %>'"
TO:
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