我在AWS EC2框上運行Ubuntu服務器12.04的Node/Express Web服務器,並在.bashrc文件中設置4個環境變量以訪問我的數據庫。如果我以普通用戶的身份運行服務器,它可以正常工作。但是,如果我將節點作爲sudo運行,則環境變量未定義。Ubuntu上的節點服務器無法訪問環境變量作爲sudo
任何想法爲什麼它不工作?
我在AWS EC2框上運行Ubuntu服務器12.04的Node/Express Web服務器,並在.bashrc文件中設置4個環境變量以訪問我的數據庫。如果我以普通用戶的身份運行服務器,它可以正常工作。但是,如果我將節點作爲sudo運行,則環境變量未定義。Ubuntu上的節點服務器無法訪問環境變量作爲sudo
任何想法爲什麼它不工作?
環境變量不傳遞給sudo
:How to keep Environment Variables when Using SUDO
,關鍵是要增加環境變量sudoers的配置:
sudo visudo
添加這些行
Defaults env_keep +="http_proxy" Defaults env_keep +="https_proxy"
形式的ArchLinux維基 https://wiki.archlinux.org/index.php/Sudo#Environment_variables_.28Outdated.3F.29
謝謝,我沒有使用正確的語言來成功搜索。 – EmptyArsenal
[使用SUDO時如何保留環境變量](http://stackoverflow.com/questions/8633461/how-to-keep-environment-variables-when-using-sudo) –