Я использую веб-модуль FreePascal, разработанный для apache cgi-bin с nginx.
Сам CGI называется spidersample.cgi и содержит такие модули, как привет, пока и т. Д.
Если в Apache вызывается spidersample.cgi / hello , spidersample.cgi выполняется и передает управление подпрограмме hello, которая в нем содержится.
С помощью nginx вместо выполнения spidersample.cgi он обрабатывает spidersample.cgi / hello как значение hello файла в spidersample.cgi и возвращается с ошибкой 404. Поскольку такого каталога нет.
Я подозреваю, что это легко решаемая проблема с некоторыми правилами перезаписи в файле конфигурации, и она размещена ниже.
==================================================
server {listen 8118;имя_сервера localhost;access_log /var/log/nginx/sysman_access.log;index index.html;root / home / rchurch / Data / Lazarus / CgiApps;
location ~ \.cgi$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/tmp/sysman_cgi.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_n$
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}
}
==================================================================