webserver node.js作为非root用户

时间:2013-11-08 22:41:23

标签: linux node.js ubuntu webserver

我是Linux初学者,拥有Linux Ubuntu 12.04服务器。我已经安装了node.js并创建了一个webserver脚本。这很好,但它以root用户身份运行。

我知道这不好(root-user& webserver = unsafe)。

如何以非root用户身份运行webserver脚本?有人知道一个很好的详细教程或者可以给我一些建议吗?

2 个答案:

答案 0 :(得分:2)

您有两种选择:

收听端口80

以root身份运行,在端口80上启动应用程序的listen(),然后立即将它们放到非root用户身上。例如,Apache就是这样做的。 不推荐,因为很容易弄错,还有很多其他细节(写入日志文件,需要初始化才能听,等等)。不是节点中的标准做法。

侦听端口> = 1024 *

以非root身份运行,侦听端口> = 1024(例如:8000或8080),并让其他人侦听端口80并将端口80流量转发给您。别人可以:

  1. 负载均衡器,NAT,代理等(如果您在EC2上运行,可能是EC2负载均衡器,例如)

  2. 另一个http服务器,比如Apache httpd或ngnix。

  3. 有关ngnix示例,请参阅:Node.js + Nginx - What now?

答案 1 :(得分:0)

您可以运行node hello.js