我如何让Nginx同时处理fastcgi请求?

问题描述 投票:0回答:1

在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 fastcgi
1个回答
0
投票

您可以在服务器上配置worker_processes指令,这将允许更多进程同时处理请求。建议在"Tuning NGINX" guide中将其设置为计算机具有的CPU内核数,因此,如果您有四核处理器,则可以将其设置为4,我想将其设置为8具有SMT的四核处理器(有时称为超线程)也可以很好地工作。您也可以将其设置为auto,然后让NGINX为您处理。

默认情况下,此值设置为1,因此,如果未指定指令,则可以进行改进。您需要在nginx.conf的顶部而不是在server {块中进行此操作。

我敢在"Tuning NGINX" guide上说,您会看到一些有关如何进一步提高性能的指南。

© www.soinside.com 2019 - 2024. All rights reserved.