Xio*_*iov 19 sockets fastcgi scgi
我今天在Cherokee上设置了Django(使用SCGI),我注意到Django文档说你可以使用主机/端口组合或套接字来进行webserver和Django之间的通信.
他们唯一要说的就是这个问题
你选择的是一种偏好; 由于权限问题,TCP套接字通常更容易.
(顺便说一句,我使用套接字执行此操作时遇到了权限问题,但是没有使用主机:).)
我依旧记得套接字是如何从我的系统编程类中运行的,但我真的很好奇两者之间的有效区别.任何时候都有选择的东西,有人对此事有意见,所以我希望得到那个.特别是,有任何性能差异吗?
或者,如果它真的没关系,我只想要一些确认,所以我可以继续我的编程并忽略这个系统管理员的东西.
ebo*_*ebo 40
UNIX套接字作为文件系统中的文件进行管理.您需要正确设置用户/组值和权限.它也必须在你正在使用的任何jailroot(使用postfix + mysql时常见的错误).
只要绑定到端口> 1000,就不需要为TCP套接字执行此操作.
UNIX套接字可以被认为稍微快一些,因为它没有网络协议,因此跳过网络堆栈,但仅限于一台机器.另一方面,TCP允许您连接到在不同主机上运行的服务.
我认为真正的区别在于,如果你的连接速率非常快,你可以用完端口,因为使用过的端口会在TIME_WAIT状态下使用TCP一段时间.命名套接字不是这样.
如果我知道它只会被本地主机使用,我会使用命名套接字进行本地连接.但是对于这个用途......是的,这不重要.不是表现明智或其他方面.如果你改变主意,以后很容易改变.如果使用该选项,请确保防火墙TCP端口.
而且,TCP套接字也是一个套接字.