summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_application.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-05-14PHP: implemented "targets" option.Valentin Bartenev1-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-24Adding "limits/shm" configuration validation and parsing.Max Romanov1-0/+3
2019-09-19Initial applications isolation support using Linux namespaces.Tiago de Bem Natel de Moura1-0/+2
2019-03-06Removed unnecessary abstraction layer.Alexander Borisov1-56/+0
2019-02-28Introducing Java Servlet Container beta.Max Romanov1-0/+12
2019-02-27Fixed processing of SERVER_NAME after 77aad2c142a0.Valentin Bartenev1-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-09Renamed "go" application type to "external".Valentin Bartenev1-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-06Unit application library.Max Romanov1-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-11Removed unused "nxt_app_header_field_t" structure.Valentin Bartenev1-6/+0
It's not used since 3b77edf46701.
2018-06-25Introduced nxt_length() macro.Valentin Bartenev1-2/+2
2018-06-07PHP: added setting of php.ini configuration file path.Valentin Bartenev1-3/+4
2018-06-06Go: specifying command line arguments to the executable.Valentin Bartenev1-1/+2
This closes #110 issue on GitHub.
2018-05-28Configuration of environment variables for application processes.Valentin Bartenev1-5/+9
2018-05-21Added SERVER_SOFTWARE request meta-variable.Valentin Bartenev1-0/+1
2018-04-05Stopping timed out application process.Max Romanov1-0/+1
2018-04-05Style.Valentin Bartenev1-4/+4
2018-04-04Changed version processing for modules.Alexander Borisov1-1/+1
2018-04-04Style: capitalized letters in hexadecimal literals.Valentin Bartenev1-1/+1
2018-03-21Added Ruby support.Alexander Borisov1-1/+9
2018-01-31Added Perl support.Alexander Borisov1-1/+8
2018-01-29Introducing extended app process management.Max Romanov1-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-11Changing relative php scripts paths to real ones.Max Romanov1-1/+1
This is required to run phpMyAdmin.
2017-12-28Removed duplicate declaration.Igor Sysoev1-2/+0
2017-12-28HTTP keep-alive connections support.Igor Sysoev1-12/+6
2017-12-27Introducing application 'atexit' hook.Max Romanov1-0/+1
Finalizing Python interpreter. This closes #65 issue on GitHub.
2017-12-25HTTP parser: reworked header fields handling.Valentin Bartenev1-1/+1
2017-11-29Introducing python virtualenv configuration.Max Romanov1-0/+1
New parameter 'home' for python application allows to configure application-specific virtualenv path. This closes #15 issue on GitHub.
2017-10-10Optimized application type handling.Valentin Bartenev1-2/+1
2017-10-05Improved applications versions handling.Valentin Bartenev1-1/+1
2017-09-15Fixing memory leak of request parse context.Max Romanov1-1/+1
2017-09-06Style fixes.Igor Sysoev1-0/+2
2017-09-05Using CSTRZ mapping type for go executable.Max Romanov1-1/+1
2017-09-05Introducing working_directory directive for applications.Max Romanov1-0/+2
2017-09-01Added SERVER_ADDR parameter for Python and PHP modules.Igor Sysoev1-0/+1
2017-08-31Introduced module compatibility vector.Igor Sysoev1-0/+3
2017-08-17The new module configuration interface.Igor Sysoev1-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-11Request body read state implemented.Max Romanov1-3/+15
With specific timeout and buffer size settings.
2017-07-25Fixed building on Solaris by Sun C.Max Romanov1-1/+1
2017-07-18Added application name in process title.Igor Sysoev1-0/+1
2017-07-18Fixed building by Clang.Igor Sysoev1-1/+1
2017-07-18Port allocation and destroy changed. Worker process stop introduced.Max Romanov1-2/+4
2017-07-12New process port exchange changed. READY message type introduced.Max Romanov1-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-07Router: processing application configuration.Igor Sysoev1-0/+8
2017-07-05Python WSGI: SERVER_NAME, SERVER_PORT fixed, REMOTE_ADDR introduced.Max Romanov1-0/+2
Shortcut: do not iterate over String (or Bytes) return object. Call 'close()' for return object (if present).
2017-07-05Complex target parser copied from NGINX.Max Romanov1-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-23Application-side message processing.Max Romanov1-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-20Using new memory pool implementation.Igor Sysoev1-1/+1
2017-06-14nxt_event_conn_... functions and structures have been renamedIgor Sysoev1-1/+1
to nxt_conn_...
2017-03-14Fixed unit tests building broken by the previous commit.Igor Sysoev1-1/+2
2017-03-09Processes refactoring.Igor Sysoev1-1/+2
The cycle has been renamed to the runtime.