在 ubuntu 18.04 上使用最小的 fastcgi/nginx 配置,看起来 nginx 一次只处理一个 fastcgi 请求。
# nginx configuration
location ~ ^\.cgi$ {
# Fastcgi socket
fastcgi_pass unix:/var/run/fcgiwrap.socket;
# Fastcgi parameters, include the standard ones
include /etc/nginx/fastcgi_params;
}
我通过使用如下所示的 cgi 脚本来演示这一点:
#!/bin/bash
echo "Content-Type: text";
echo;
echo;
sleep 5;
echo Hello world
使用curl 从两个并排的命令提示符访问脚本,您将看到服务器按顺序处理请求。
如何确保 nginx 并行处理 fastcgi 请求?
Nginx 是一个非阻塞服务器,即使与fcgiwrap
作为后端。所以nginx进程数应该不是问题的原因。真正的解决办法是增加数量fcgiwrap
流程使用-c
选项。
如果fcgiwrap
推出于-c2
,即使只有一个 Nginx 工作进程,您也可以并行运行 2 个 cgi 脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)