如何正确使用mknod创建套接字?

如何正确使用mknod创建套接字?

我尝试创建一个用于 uwsgi 和 nginx 之间通信的套接字。

困难在于我不知道应该指定什么主号码和次号码:

v:/tmp# mknod wsgi_pgame.sock c
mknod: missing operand after `c'
Special files require major and minor device numbers.

而且我不知道该设备应该是块设备还是字符设备。

能否请你帮忙?

答案1

Mknod(mknod p,不是c)创建一个 fifo,一个 unix 套接字。Unix 套接字是不同的,不需要 mknod(或 root 权限)。配置正确后,uwsgi 将为您创建套接字,您只需要确保权限正确,这样 nginx 就可以使用它。对于 Debian-ish 系统来说,情况就是这样。

shared-socket = 1
socket        = /tmp/uwsgi.sock
chmod_socket  = 600
chown_socket  = www-data
uid           = www-data
gid           = www-data

相关内容