就是dotenv这个模块在这种方式下无法读取到.env文件里面的信息

dotenv可以把node中需要的一些变量提取出来,放到.env文件里面

可以在提交代码的时候隐藏一些私密信息,比如密钥啥的 使用方法如下

const dotenv = require('dotenv')
dotenv.config()
// console.log(process.env.APP_PORT)
module.exports = process.env

但是pm2直接启动是无法读取到的

这时候就得给pm2加入 --node-args='-r dotenv/config'

也就是package.json文件中启动命令加入

"serve": "pm2 start --node-args='-r dotenv/config' pm2.config.js --env pro"

就能读取到.env文件里的内容了

Pm2的一些简单配置

module.exports = { apps : [{ name : "node", script : "./src/main.js", cwf: './', // 根目录 args : "pro", exec_mode : "cluster", // cluster 开启负载均衡 instances: 4, // 应用启动实例个数,仅在cluster模式有效 默认为fork;或者 max max_memory_restart: '512M', // 最大内存限制数,超出自动重启 watch: ["src"], // 指定要观看的文件夹 // watch: true, // 文件修改时重新启动 watch_delay: 1000, // 指定观察间隔之间的延迟 ignore_watch : ["node_modules", "client/img"], // 指定要忽略的文件夹 out_file: "./logs/log/log.log", error_file: "./logs/errorlog/errorlog.log", log_date_format: "YYYY-MM-DD HH:mm:ss", // 指定日志文件的时间格式 // merge_logs: true, // 追加日志而不是新建 min_uptime: 100, // 应用运行少于时间被认为是异常启动 max_restarts: 30, // 最大异常重启次数,即小于min_uptime运行时间重启次数; autorestart: true, // 默认为true, 发生异常的情况下自动重启 cron_restart: "", // crontab时间格式重启应用,目前只支持cluster模式; restart_delay: 60, // 异常重启情况下,延时重启时间 env_pro: { NODE_ENV: "pro", // HOST: 'localhost', PORT: 3000, env_development: { NODE_ENV: "development", PORT: 2000, 复制代码
分类:
前端
标签: