在生产过程中,我们定期会遇到这些 ruby 进程挂起的情况。我刚刚发现
passenger-status --show=requests
这正是我想要的。我想编写一些代码来构建一个超级管理面板,让我可以点击进程并查看请求是什么,但是,当我运行此命令时,我得到了
ERROR: You are not authorized to query the status for this Phusion Passenger instance. Please try again with 'sudo'
有没有办法授权我的用户(部署)运行它,而不是强制 sudo?
答案1
显然乘客的管理 API 通过 UNIX 套接字实现。您需要成为可以访问该套接字文件的用户。
root 显然可以做到这一点。也许你可以将套接字更改为用户可读。关于安全性,记录示例请求 JSON 似乎没有敏感数据(尽管您应该自己评估这一点)。