我想在EC2上部署Sails JS应用。如何创建生产配置(包含敏感数据,因此不包含在git中)。
创建生产配置的最佳实践是什么。在自动缩放的情况下也应该起作用。
如果我手动创建.sailsrc
文件,那么在自动缩放的情况下它将无法工作。
答案 0 :(得分:1)
通常来说,您需要一个流程经理。 PM2 是节点应用程序中使用最多的一种,请访问:http://pm2.keymetrics.io/docs/usage/quick-start/以获取更多信息。
在Sails中,您可以为应用程序设置不同的环境。 访问:https://sailsjs.com/documentation/concepts/deployment
您可以将敏感信息(API密钥等)设置为环境变量。 这是我的项目中的一个示例:https://imgur.com/KThVpJT
对于环境变量,您可以使用dotenv访问:https://www.npmjs.com/package/dotenv。基本上,您在声明敏感密钥的根目录中创建一个.env文件,请不要忘记将其添加到.gitignore文件中,现在您只需要提早要求它,就应该设置好了!
除了.env文件之外,我还使用 PM2 处理文件。
请参阅:http://pm2.keymetrics.io/docs/usage/application-declaration/
这是我的ecosystem.config.js文件:
module.exports = {
apps : [{
name : "Sails App",
script : "./app.js",
env: {
"NODE_ENV": "development",
},
env_production : {
"NODE_ENV": "production",
"REDIS_HOST": "10.13.xx.xx",
"REDIS_PORT": "67xx"
}
}]
}
将其放置在应用程序的根目录中,不要忘记将其添加到您的.gitignore
然后只运行pm2 start ecosystem.config.js --env production --update-env
希望这会有所帮助!