当我使用 node server.js
在我的 Ubuntu Linux 服务器上运行我的 nodejs 应用程序时,它工作正常,并使用 输出环境变量 $db
的值>process.env.db.
但是,应用程序在运行 sudo pm2 start server.js
时中断,看到环境变量为未定义。
我尝试在以下文件中添加变量:
- 等/环境:
db="hello"
- ~/.ssh/environment :
db="hello"
- ~/.bashrc :
export db="hello"
我还重新启动并运行 source ~/.bashrc
以确保变量可用。
我想我已经尝试了这里提到的所有方法,我不知道还能做什么:
最佳答案
请注意,说 source ~/.bashrc
您正在为当前用户加载变量。但是,当您说 sudo ...
时,您正在使用用户 root
运行,所以这不会改变。
你可以做的是使用 sudo
和 -E
:
sudo -E pm2 start server.js
来自 man sudo
:
-E, --preserve-env
Indicates to the security policy that the user wishes to reserve their
existing environment variables. The security policy may eturn an error
if the user does not have permission to preserve the environment.
关于linux - 如何设置 Linux 环境变量,以便 pm2 可以看到它们用于 node.js 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897875/