我正在使用与node版本.0.6.5一起使用的npm包express版本2.5.2。我似乎在Debian 4.4.5上运行bash版本4.1.5。
我正在尝试以生产模式运行服务器,但它仍然以开发模式运行。
我在我的bash shell中运行这些命令:
这是我的使用问题还是系统问题?
编辑: 感谢ThiefMaster正确识别此问题源于我以root身份运行节点。ThiefMaster建议使用iptables将端口80转发到非特权端口,但我的系统给出了错误提示。将此讨论移至superuser.com或serverfault.com(链接如下)。
我正在尝试以生产模式运行服务器,但它仍然以开发模式运行。
我在我的bash shell中运行这些命令:
$ export NODE_ENV=production
$ echo $NODE_ENV
production
$ sudo echo $NODE_ENV
production
$ sudo node bootstrap.js
我在bootstrap.js文件中有这段代码:
var bootstrap_app = module.exports = express.createServer();
//...
console.log(bootstrap_app.settings.env);
这是我在标准输出中看到的内容:
development
这是我的使用问题还是系统问题?
编辑: 感谢ThiefMaster正确识别此问题源于我以root身份运行节点。ThiefMaster建议使用iptables将端口80转发到非特权端口,但我的系统给出了错误提示。将此讨论移至superuser.com或serverfault.com(链接如下)。
sudo echo $NODE_ENV
可以正常工作是因为变量被替换了,所以 sudo 看到的是echo "production"
。 - ThiefMaster