node.js - Ubuntu 上的 Node 服务器无法使用 sudo 访问环境变量

标签 node.js ubuntu amazon-ec2 environment-variables

我在使用 Ubuntu 服务器 12.04 的 AWS EC2 机器上运行 Node/Express Web 服务器,并在 .bashrc 文件中设置了 4 个环境变量来访问我的数据库。如果我以普通用户身份运行服务器,它工作正常。但是,如果我以 sudo 身份运行 Node ,则环境变量未定义。

知道为什么它不起作用吗?

最佳答案

环境变量未传递给 sudo:How to keep Environment Variables when Using SUDO

the trick is to add enviroment variables to sudoers config:

sudo visudo

add these lines

Defaults env_keep +="http_proxy"
Defaults env_keep +="https_proxy"

form ArchLinux wiki https://wiki.archlinux.org/index.php/Sudo#Environment_variables_.28Outdated.3F.29

关于node.js - Ubuntu 上的 Node 服务器无法使用 sudo 访问环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690644/

相关文章:

python - 在 EC2 启动和停止上运行脚本

javascript - npm:安装和使用包的不同版本

node.js - 使用 Node/Express 将文件流式传输给用户下载

javascript - Node.js 原生 Promise.all 是并行处理还是顺序处理?

javascript - 使用 Mongoose 更新包含唯一值的对象数组

ruby - 尝试在 ubuntu 16.04 上进行 ruby​​-install

tomcat - 使用 Tomcat 的 Solr 配置

ubuntu - 在 Ubuntu 上使用 find 和 tar 移动多个文件

node.js - 使用 AWS codedeploy 部署 nodejs 实例的 NPM 问题

linux - 亚马逊 Linux : Change default ec2-user when creating an ami image