Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -3/+3 | |
This allows to specify multiple subsequent targets inside PHP applications. For example: { "listeners": { "*:80": { "pass": "routes" } }, "routes": [ { "match": { "uri": "/info" }, "action": { "pass": "applications/my_app/phpinfo" } }, { "match": { "uri": "/hello" }, "action": { "pass": "applications/my_app/hello" } }, { "action": { "pass": "applications/my_app/rest" } } ], "applications": { "my_app": { "type": "php", "targets": { "phpinfo": { "script": "phpinfo.php", "root": "/www/data/admin", }, "hello": { "script": "hello.php", "root": "/www/data/test", }, "rest": { "root": "/www/data/example.com", "index": "index.php" }, } } } } | |||||
2019-12-24 | Adding "limits/shm" configuration validation and parsing. | Max Romanov | 1 | -0/+3 | |
2019-09-19 | Initial applications isolation support using Linux namespaces. | Tiago de Bem Natel de Moura | 1 | -0/+2 | |
2019-03-06 | Removed unnecessary abstraction layer. | Alexander Borisov | 1 | -56/+0 | |
2019-02-28 | Introducing Java Servlet Container beta. | Max Romanov | 1 | -0/+12 | |
2019-02-27 | Fixed processing of SERVER_NAME after 77aad2c142a0. | Valentin Bartenev | 1 | -1/+1 | |
Previously, the nxt_router_prepare_msg() function expected server host among other headers unmodified. It's not true anymore since normalization of the Host header has been introduced in 77aad2c142a0. The nxt_unit_split_host() function was removed. It didn't work correctly with IPv6 literals. Anyway, after 77aad2c142a0 the port splitting is done in router while Host header processing. | |||||
2018-10-09 | Renamed "go" application type to "external". | Valentin Bartenev | 1 | -13/+13 | |
There's nothing specific to Go language. This type of application object can be used to run any external application that utilizes libunit API. | |||||
2018-08-06 | Unit application library. | Max Romanov | 1 | -153/+9 | |
Library now used in all language modules. Old 'nxt_app_*' code removed. See src/test/nxt_unit_app_test.c for usage sample. | |||||
2018-07-11 | Removed unused "nxt_app_header_field_t" structure. | Valentin Bartenev | 1 | -6/+0 | |
It's not used since 3b77edf46701. | |||||
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -2/+2 | |
2018-06-07 | PHP: added setting of php.ini configuration file path. | Valentin Bartenev | 1 | -3/+4 | |
2018-06-06 | Go: specifying command line arguments to the executable. | Valentin Bartenev | 1 | -1/+2 | |
This closes #110 issue on GitHub. | |||||
2018-05-28 | Configuration of environment variables for application processes. | Valentin Bartenev | 1 | -5/+9 | |
2018-05-21 | Added SERVER_SOFTWARE request meta-variable. | Valentin Bartenev | 1 | -0/+1 | |
2018-04-05 | Stopping timed out application process. | Max Romanov | 1 | -0/+1 | |
2018-04-05 | Style. | Valentin Bartenev | 1 | -4/+4 | |
2018-04-04 | Changed version processing for modules. | Alexander Borisov | 1 | -1/+1 | |
2018-04-04 | Style: capitalized letters in hexadecimal literals. | Valentin Bartenev | 1 | -1/+1 | |
2018-03-21 | Added Ruby support. | Alexander Borisov | 1 | -1/+9 | |
2018-01-31 | Added Perl support. | Alexander Borisov | 1 | -1/+8 | |
2018-01-29 | Introducing extended app process management. | Max Romanov | 1 | -2/+0 | |
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0). | |||||
2018-01-11 | Changing relative php scripts paths to real ones. | Max Romanov | 1 | -1/+1 | |
This is required to run phpMyAdmin. | |||||
2017-12-28 | Removed duplicate declaration. | Igor Sysoev | 1 | -2/+0 | |
2017-12-28 | HTTP keep-alive connections support. | Igor Sysoev | 1 | -12/+6 | |
2017-12-27 | Introducing application 'atexit' hook. | Max Romanov | 1 | -0/+1 | |
Finalizing Python interpreter. This closes #65 issue on GitHub. | |||||
2017-12-25 | HTTP parser: reworked header fields handling. | Valentin Bartenev | 1 | -1/+1 | |
2017-11-29 | Introducing python virtualenv configuration. | Max Romanov | 1 | -0/+1 | |
New parameter 'home' for python application allows to configure application-specific virtualenv path. This closes #15 issue on GitHub. | |||||
2017-10-10 | Optimized application type handling. | Valentin Bartenev | 1 | -2/+1 | |
2017-10-05 | Improved applications versions handling. | Valentin Bartenev | 1 | -1/+1 | |
2017-09-15 | Fixing memory leak of request parse context. | Max Romanov | 1 | -1/+1 | |
2017-09-06 | Style fixes. | Igor Sysoev | 1 | -0/+2 | |
2017-09-05 | Using CSTRZ mapping type for go executable. | Max Romanov | 1 | -1/+1 | |
2017-09-05 | Introducing working_directory directive for applications. | Max Romanov | 1 | -0/+2 | |
2017-09-01 | Added SERVER_ADDR parameter for Python and PHP modules. | Igor Sysoev | 1 | -0/+1 | |
2017-08-31 | Introduced module compatibility vector. | Igor Sysoev | 1 | -0/+3 | |
2017-08-17 | The new module configuration interface. | Igor Sysoev | 1 | -32/+35 | |
Configuration and building example: ./configure ./configure python ./configure php ./configure go make all or ./configure make nginext ./configure python make python ./configure php make php ./configure go make go Modules configuration options and building examples: ./configure python --module=python2 --config=python2.7-config make python2 ./configure php --module=php7 --config=php7.0-config --lib-path=/usr/local/php7.0 make php7 ./configure go --go=go1.6 --go-path=${HOME}/go1.6 make go1.6 | |||||
2017-08-11 | Request body read state implemented. | Max Romanov | 1 | -3/+15 | |
With specific timeout and buffer size settings. | |||||
2017-07-25 | Fixed building on Solaris by Sun C. | Max Romanov | 1 | -1/+1 | |
2017-07-18 | Added application name in process title. | Igor Sysoev | 1 | -0/+1 | |
2017-07-18 | Fixed building by Clang. | Igor Sysoev | 1 | -1/+1 | |
2017-07-18 | Port allocation and destroy changed. Worker process stop introduced. | Max Romanov | 1 | -2/+4 | |
2017-07-12 | New process port exchange changed. READY message type introduced. | Max Romanov | 1 | -5/+55 | |
Application process start request DATA message from router to master. Master notifies router via NEW_PORT message after worker process become ready. | |||||
2017-07-07 | Router: processing application configuration. | Igor Sysoev | 1 | -0/+8 | |
2017-07-05 | Python WSGI: SERVER_NAME, SERVER_PORT fixed, REMOTE_ADDR introduced. | Max Romanov | 1 | -0/+2 | |
Shortcut: do not iterate over String (or Bytes) return object. Call 'close()' for return object (if present). | |||||
2017-07-05 | Complex target parser copied from NGINX. | Max Romanov | 1 | -2/+2 | |
nxt_app_request_header_t fields renamed: - 'path' renamed to 'target'. - 'path_no_query' renamed to 'path' and contains parsed value. | |||||
2017-06-23 | Application-side message processing. | Max Romanov | 1 | -17/+175 | |
Usage on the router side: nxt_app_wmsg_t wmsg; nxt_app_parse_ctx_t parse_ctx; nxt_app_http_req_init(task, &parse_ctx); /* parse incoming request data */ if (nxt_app_http_req_parse(task, &parse_ctx, buf) == NXT_DONE) { /* choose app */ nxt_app = nxt_select_app(... &parse_ctx.r ...); /* find port */ wmsg.port = nxt_get_app_port(... nxt_app ...); wmsg.buf = &wmsg.write; /* fill write message buffer in shared mem */ nxt_app->prepare_msg(task, &parse_ctx.r, &wmsg); /* send message to app for processing */ nxt_port_socket_write(task, wmsg.port, NXT_PORT_MSG_DATA, -1, 0, 0, wmsg.write); } | |||||
2017-06-20 | Using new memory pool implementation. | Igor Sysoev | 1 | -1/+1 | |
2017-06-14 | nxt_event_conn_... functions and structures have been renamed | Igor Sysoev | 1 | -1/+1 | |
to nxt_conn_... | |||||
2017-03-14 | Fixed unit tests building broken by the previous commit. | Igor Sysoev | 1 | -1/+2 | |
2017-03-09 | Processes refactoring. | Igor Sysoev | 1 | -1/+2 | |
The cycle has been renamed to the runtime. |