我是Linux初学者,拥有Linux Ubuntu 12.04服务器。我已经安装了node.js并创建了一个webserver脚本。这很好,但它以root用户身份运行。
我知道这不好(root-user& webserver = unsafe)。
如何以非root用户身份运行webserver脚本?有人知道一个很好的详细教程或者可以给我一些建议吗?
答案 0 :(得分:2)
您有两种选择:
收听端口80
以root身份运行,在端口80上启动应用程序的listen()
,然后立即将它们放到非root用户身上。例如,Apache就是这样做的。 不推荐,因为很容易弄错,还有很多其他细节(写入日志文件,需要初始化才能听,等等)。不是节点中的标准做法。
侦听端口> = 1024 *
以非root身份运行,侦听端口> = 1024(例如:8000或8080),并让其他人侦听端口80并将端口80流量转发给您。别人可以:
负载均衡器,NAT,代理等(如果您在EC2上运行,可能是EC2负载均衡器,例如)
另一个http服务器,比如Apache httpd或ngnix。
有关ngnix示例,请参阅:Node.js + Nginx - What now?
答案 1 :(得分:0)
您可以运行node hello.js