我们的系统pipe理员说
“Apache在每个连接上使用TCP端口”
所以一个服务器可以同时服务65534(MAX)。 这样对吗?
我认为Apache只使用80或443.但是,他使用了很多文件描述符(不是端口)不是吗?
/sbin/sysctl -a | grep fs.file-max fs.file-max = 123456789
是最大我想你能给我一些关于它的信息?
我想你的系统pipe理员对于一个端口和一个文件描述符究竟是什么都有些困惑。
每台服务器有65536个编号为0到65535端口。 程序可以在端口上侦听来自客户端的请求并相应地处理它们。 在任何时候只有一个程序可以在端口上进行监听。 在这方面,港口是有限的资源 – 尽pipe使用大多数这些港口是非常罕见的。
当客户端连接到服务器时,会为表示套接字的连接创build一个文件描述符。 您可以像读取任何其他普通文件一样读写这个套接字。 可用的文件描述符的数量是巨大的,但是一个特定的应用程序可以使用的文件描述符的数量通常是有限制的。
另外,应该注意的是,Apache可以configuration为同时监听多个端口。
一个TCPstream由4个数字唯一标识:
请注意,客户端也使用端口号,这有助于保持stream分离。
典型情况下,由已知(通过DNS)IP地址和已知端口号的服务器组成,则每个客户端具有不同的IP编号,并且客户端使用的端口号是半随机select的。 这允许单个服务器连接到许多不同的客户端,而且单个客户端可以在同一个服务器上有多个连接到同一个端口,只需使用客户端的不同端口。