Monitoring 用sudo启动God节点

Monitoring 用sudo启动God节点,monitoring,node.js,god,Monitoring,Node.js,God,我需要以root用户身份(使用sudo)启动Node.js服务器,启动参数如下: w.start = "sudo node #{KTHXBYE_NODE_ROOT}/poll.js" 因为我使用的是Socket.IO,需要使用flashsockets(这要求Node.js以root身份运行) 然而,每当我启动God时,它都无法启动节点。我试着用sudo运行God,没有sudo,就像rvmsudo(因为我在我的机器上使用RVM来管理ruby版本),但似乎没有任何东西可以修复它。有人知道一种在上帝

我需要以root用户身份(使用sudo)启动Node.js服务器,启动参数如下:

w.start = "sudo node #{KTHXBYE_NODE_ROOT}/poll.js"
因为我使用的是Socket.IO,需要使用flashsockets(这要求Node.js以root身份运行)

然而,每当我启动God时,它都无法启动节点。我试着用
sudo
运行God,没有
sudo
,就像
rvmsudo
(因为我在我的机器上使用RVM来管理ruby版本),但似乎没有任何东西可以修复它。有人知道一种在上帝里用
sudo
运行进程的方法吗


谢谢。

这是我运行带有“god”的node.js服务器的最小配置文件:

如果尚未启动node.js,它会自动启动node.js,并使用内部“god”守护方式

确保您的配置中有“start_if”部分,该部分定义了启动受监控流程的条件。在这里,我们有一个条件,如果进程没有运行,就启动它,这正是我们所需要的

关于“sudo”特权:我认为没有必要在god-config“start”命令中包含sudo。您可能更愿意使用sudo“god”本身进行调用,然后它也将使用sudo运行受监视的进程。例如,我正在使用以下命令测试“god”配置:

sudo god -c conf/chapayev.god -D
(-D用于在控制台中打印输出,以立即查看所有配置错误)

有关更多详细信息,请查看此帖子:

使用web服务器(例如nginx)来管理flash套接字策略文件不是更好吗

server { 
    listen 843; 
    server_name {{ SERVER_NAME }} www.{{ SERVER_NAME }}; 
    location / { 
        root {{ PATH_TO_FOLDER_WITH_crossdomain.xml_FILE }}; 
        autoindex off; 
    } 
} 
和crossdomain.xml文件(用适当的值替换*):


这样节点就不必用sudo启动。在我看来,这更容易,也更安全。当以root用户身份运行时,节点创建的文件所有权也可能存在问题

若节点是以根用户身份启动的,那个么最好在端口绑定后对其进行chroot或更改UID

:“上帝目前只在Linux、BSD和达尔文系统上工作。”这些项目名称让我感到非常悲痛。
server { 
    listen 843; 
    server_name {{ SERVER_NAME }} www.{{ SERVER_NAME }}; 
    location / { 
        root {{ PATH_TO_FOLDER_WITH_crossdomain.xml_FILE }}; 
        autoindex off; 
    } 
} 
<cross-domain-policy> 
     <allow-access-from domain="*" to-ports="*" /> 
</cross-domain-policy>