Поскольку вы, безусловно, хотите переслать данные POST на другой сервер, я хотел бы изучить использование сценариев на PHP, Lua, Ruby ... и сделать что-то подобное (PHP-подобное):
$data = json_encode($_POST);
file_put_contents("/tmp/data.json", $data);
exec("log-data.sh&");
&
в командной строке для команды exec()
запускает эту команду "в фоновом режиме", отсоединенную от текущего экземпляра PHP. Здесь я показываю сценарий оболочки, это может быть другой сценарий PHP, программа на C, Lua, что угодно.
Дело в том, что скрипт выполняет строгий минимум, который разделяет данные $_POST
и затем запускает скрипт. (одна важная вещь, однако, имя "/tmp/data.json"
должно генерироваться динамически, иначе, когда происходят два одновременных запроса, данные первого разбивают данные другого, или даже они оба записывают в файл согласованно ...)
Если вы планируете написать свой собственный модуль nginx, вы бы сделали то же самое. Ваш обработчик сохранит данные POST в файле, а затем вы начнете процесс с fork()
+ exec()
, чтобы запустить другой сценарий, программу на C, и тому подобное в фоновом режиме. Однако для этого необходимо перекомпилировать nginx.