我正在运行一个Nginx服务器和一个节点表达web服务器,使用daemontools,setup通过Unix Domain Sockets进行通信.只有一些问题:
>套接字文件在关闭时保持存在,因此我必须在重新启动服务器时将其删除,否则我将收到EADDRINUSE错误.
> Nginx服务器作为Nginx用户运行,节点服务器作为节点用户运行.
>当服务器启动时,套接字文件由Express创建,umask将套接字文件的权限设置为755.
> setuidgid应用程序将组设置为用户的默认组,在这种情况下都是节点用户名.
>应用程序和daemontools运行脚本的部署脚本在节点服务器实例启动之前执行,因此无法设置文件的权限,因为必须在启动过程中重新创建.
如果我chgrp和chmod g w套接字文件,一切正常.有没有办法设置它,以便生成节点应用程序的套接字文件,并使用正确的权限让Nginx能够在不损害一个应用程序或另一个应用程序的安全独立性的情况下写入它?我甚至可以将Nginx添加到节点用户的组中,如果还有一种方法可以设置套接字文件的权限,那么它就可以组写了.
最佳答案