如何在Ubuntu服务器添加环境变量并隐藏API密钥?
解决Ubuntu服务器中添加环境变量并隐藏API密钥的问题
针对你遇到的OpenAI API密钥缺失报错问题,以下是几种安全添加环境变量且不暴露密钥的可行方案:
方案1:在服务器项目目录创建独立.env文件(推荐)
- 直接在Ubuntu服务器的项目根目录新建
.env文件,写入所需环境变量:
在文件中添加:nano /path/to/your/project/.envOPENAI_API_KEY=你的真实API密钥 - 确保项目代码通过
dotenv包加载该文件(若之前依赖此方式),在项目入口文件顶部添加:require('dotenv').config(); - 保持仓库的
.gitignore中包含.env规则,避免该文件被git追踪上传。 - 为了安全,设置
.env文件仅当前用户可读写:chmod 600 /path/to/your/project/.env
方案2:设置用户/系统级环境变量
如果不想使用.env文件,可直接在服务器配置环境变量:
用户级(仅当前登录用户生效)
- 编辑用户配置文件:
在末尾添加:nano ~/.bashrcexport OPENAI_API_KEY=你的真实API密钥 - 执行命令让配置生效:
source ~/.bashrc
系统级(所有用户生效,需sudo权限)
- 编辑系统环境配置文件:
添加:sudo nano /etc/environmentOPENAI_API_KEY=你的真实API密钥 - 重启服务器或重新登录使配置生效。
- 最后重启pm2服务加载新变量:
pm2 restart app
方案3:通过pm2配置管理环境变量
pm2支持直接在配置文件中管理环境变量,适合Node.js项目:
- 在项目根目录创建
ecosystem.config.js文件:module.exports = { apps : [{ name: 'app', script: 'app.js', env: { NODE_ENV: 'development', OPENAI_API_KEY: '你的真实API密钥' }, env_production: { NODE_ENV: 'production', OPENAI_API_KEY: '你的真实API密钥' } }] }; - 将
ecosystem.config.js加入.gitignore,防止密钥泄露。 - 使用pm2启动或重启项目:
pm2 start ecosystem.config.js --env production pm2 reload ecosystem.config.js
内容的提问来源于stack exchange,提问作者ek2466
相关产品推荐
相关产品推荐

