我的app和nodejs都是通过haproxy配置的,所以我的app和nodejs都需要运行paster serve,但是这里我需要以sudo的身份运行haproxy来绑定80端口和其他普通用户的进程,该怎么做呢?我试过不同的方法,但都没有用。我试过这个命令
command=sudo haproxy
我认为这不是我们应该做的事情。有什么想法吗?
发布于 2012-08-02 22:52:39
您需要以root用户身份运行supervisord,并将其配置为在非特权用户下运行各种服务。
[program:paster]
# other configuration
user = wwwdaemon为了使其正常工作,您不能在[supervisord]部分中设置user选项(否则守护进程将无法重新启动您的haproxy服务器)。因此,您确实希望确保您的supervisord配置仅可由root用户写入,以便不会向正在运行的supervisord守护程序中添加任何新程序,并且您希望确保XML-RPC服务器选项受到良好保护。
后者意味着您需要检查您已配置为正确锁定的任何[unix_http_server]、[inet_http_server]和[rpcinterface:x]部分。例如,使用unix_http_server部分的chown和chmod选项可限制仅有特权用户才能访问套接字文件。
或者,您可以使用最小配置运行轻型前端服务器,将端口80代理到非特权端口,并将此最小服务器排除在您的supervisord设置之外。ngnix是一个很好的服务器,例如,通过你的服务器的本地打包系统(例如,Debian或Ubuntu上的apt-get )安装的。
https://stackoverflow.com/questions/11772143
复制相似问题