EC2 部署 Sails JS 生产配置(未包含在 git 中)

EC2 deploy Sails JS production configurations (not included in git)

我想在 EC2 上部署一个 Sails JS 应用程序。我如何创建生产配置(其中包含敏感数据,因此未包含在 git 中)。

创建生产配置的最佳做法是什么。这在自动缩放的情况下也应该有效。

如果我手动创建 .sailsrc 文件,那么在自动缩放的情况下它将不起作用。

一般来说,您需要一个流程管理员。节点应用程序最常用的是 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

希望这对您有所帮助!