1

我是一名 Linux 初学者,拥有一台 Linux Ubuntu 12.04 服务器。我已经安装了 node.js 并创建了一个网络服务器脚本。这工作正常,但它以 root 用户身份运行。

我知道这不好(root 用户和网络服务器 = 不安全)。

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

4

2 回答 2

2

你有两个选择:

监听 80 端口

以 root 身份运行,在端口 80 上启动您的应用程序listen(),它们会立即降级为非 root。例如,这就是 Apache 所做的。不推荐,因为这很容易出错,还有很多其他细节(写入日志文件,在收听之前需要初始化等)。不是节点的标准做法。

监听端口 >=1024*

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

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

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

有关 ngnix 示例,请参见:Node.js + Nginx - 现在怎么办?

于 2013-11-08T22:55:23.680 回答
0

你可以跑node hello.js

于 2013-11-08T22:51:50.537 回答