0

我必须为我的应用程序和 nodejs 运行 paster serve 来满足我的实时要求,两者都是通过 haproxy 配置的,但是在这里我需要以 sudo 的身份运行 haproxy 以将端口 80 和其他进程绑定为普通用户,该怎么做?我尝试了不同的方法,但没有用。我试过这个命令

命令=sudo haproxy

我认为这不是我们应该这样做的方式。有任何想法吗?

4

1 回答 1

0

您需要以 root 身份运行 supervisord,并将其配置为在非特权用户下运行各种服务。

[program:paster]
# other configuration
user = wwwdaemon

为了使它起作用,您不能user在该部分中设置选项[supervisord](否则守护程序无法重新启动您的 haproxy 服务器)。因此,您确实希望确保您的 supervisord 配置只能由 root 用户写入,因此不能将新程序添加到正在运行的 supervisord 守护程序,并且您希望确保 XML-RPC 服务器选项得到很好的保护。

后者意味着您需要查看已配置为正确锁定的任何[unix_http_server],[inet_http_server]和部分。[rpcinterface:x]例如,使用 [ ] 部分的chownchmod选项unix_http_server将套接字文件的访问权限仅限于特权用户。

或者,您可以运行具有最小配置的轻量级前端服务器,将端口 80 代理到非特权端口,并将这个最小的服务器排除在您的 supervisord 设置之外。ngnix是一个出色的服务器,例如,通过服务器的本机打包系统安装(例如 Debian 或 Ubuntu 上的 apt-get)。

于 2012-08-02T14:52:39.453 回答