Form-input-nginx-module

Материал из Wiki
Перейти к: навигация, поиск

form-input-nginx-module

Это модуль который позволяет выдергивать переменные из POST (для GET возможность встроенная)

Пример устнаовки для убунту:


Вся работа в /usr/src

cd /usr/src

Скачать модуль и зависимость (https://github.com/calio/form-input-nginx-module)

git clone https://github.com/calio/form-input-nginx-module.git
git clone https://github.com/simpl/ngx_devel_kit.git

Установить зависимости для сборки и скачать исходники nginx (пакета а не самого nginx, для того что бы пересобрать пакет)

apt-get build-dep nginx
apt-get source nginx

Отредактировать debian/rules: добавить пути к модулям

--add-module=/usr/src/ngx_devel_kit/ \
--add-module=/usr/src/form-input-nginx-module \

Пересобрать пакеты

dpkg-buildpackage
... и установить их.


После чего можно использовать такую конструкцию:


log_format nagios  '[$msec] PROCESS_SERVICE_CHECK_RESULT;$arg_host;$arg_service;$arg_plugin_state;$arg_plugin_output';
#log_format nagios1 '[$msec] PROCESS_SERVICE_CHECK_RESULT;$arg_host1;$arg_service1;$arg_plugin_state1;$arg_plugin_output1';


server {
    access_log  /var/lib/nagios3/rw/nagios.cmd nagios  buffer=4k;
    access_log  /var/log/nginx/nagios1_access_log nagios;
    access_log  /var/log/nginx/nagios_access_log;

    listen 84 default_server;
    root /usr/share/nginx/html;
    index index.html index.htm;

    # ensure client_max_body_size == client_body_buffer_size
    client_max_body_size 100k;
    client_body_buffer_size 100k;



    location / {
    set_form_input $arg_host host;
    set_form_input $arg_service service;
    set_form_input $arg_plugin plugin;
    set_form_input $arg_state state;
    set_form_input $arg_plugin_output plugin_output;
    return 200;
    }


}