如何让 nginx 同时处理 fastcgi 请求?

2024-01-24

在 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(使用前将#替换为@)

如何让 nginx 同时处理 fastcgi 请求? 的相关文章

随机推荐