Max Romanov
e501c74ddc
Introducing websocket support in router and libunit.
2019-08-20 16:31:53 +03:00
Axel Duch
7785c96c1a
Added routing based on request scheme.
...
Scheme matches exact string “http” or “https”.
2019-07-24 13:47:35 +03:00
Igor Sysoev
0ba7cfce75
Added routing based on header fields.
2019-05-30 15:33:51 +03:00
Valentin Bartenev
5e1cf14565
Controller: rejecting double wildcards.
2019-04-12 17:44:55 +03:00
Igor Sysoev
8339b15158
Added support for wildcards in the middle of match patterns.
2019-04-10 13:47:34 +03:00
Max Romanov
687f83fbd0
Style fixing.
...
This closes #233 issue on GitHub.
Thanks to 洪志道 (Hong Zhi Dao).
2019-03-22 15:32:35 +03:00
Max Romanov
5bfdebb9e4
Introducing Java Servlet Container beta.
2019-02-28 18:02:42 +03:00
Valentin Bartenev
a881c31abd
Controller: added "routes" configuration.
2019-02-27 16:50:37 +03:00
Valentin Bartenev
c24c0deb19
Controller: added "pass" configuration option.
2019-02-27 16:44:52 +03:00
Valentin Bartenev
029c1a9f50
Renamed "go" application type to "external".
...
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-10-09 17:53:31 +03:00
Valentin Bartenev
8d844bc2aa
Controller: certificates storage interface.
2018-09-20 15:27:08 +03:00
Valentin Bartenev
1abdcfb2d8
Controller: added "settings" configuration object.
...
It has the following structure and default values:
{
"http": {
"header_read_timeout": 30,
"body_read_timeout": 30,
"send_timeout": 30,
"idle_timeout": 180,
"max_body_size": 8388608
}
}
2018-07-09 20:34:51 +03:00
Valentin Bartenev
0366bfad6d
Fixed error message about "spare" value.
2018-07-02 18:19:00 +03:00
Valentin Bartenev
1a52d876f7
Introduced nxt_length() macro.
2018-06-25 16:51:47 +03:00
Sergey Kandaurov
14bc401394
Using own popcount where the compiler builtin is not available.
2018-06-20 19:34:06 +03:00
Valentin Bartenev
8f278a5fed
PHP: added setting of individual configuration options.
2018-06-07 16:17:32 +03:00
Valentin Bartenev
388390888b
PHP: added setting of php.ini configuration file path.
2018-06-07 16:17:31 +03:00
Valentin Bartenev
ceeb301881
Go: specifying command line arguments to the executable.
...
This closes #110 issue on GitHub.
2018-06-06 16:53:35 +03:00
Valentin Bartenev
d7e6e2bd8c
Configuration of environment variables for application processes.
2018-05-28 20:55:23 +03:00
Valentin Bartenev
204c394721
Initial access log support.
2018-04-11 18:23:33 +03:00
Alexander Borisov
37051b6c15
Added Ruby support.
2018-03-21 16:50:07 +03:00
Valentin Bartenev
fc496c19ac
Changed the default number of spare processes to 0.
2018-02-09 19:06:53 +03:00
Andrey Zelenkov
949ba262cc
Style fixes.
2018-02-07 15:34:42 +03:00
Andrey Zelenkov
b4e467e669
Fixed configuration checks for "max" property.
2018-02-06 20:31:48 +03:00
Alexander Borisov
960962ddce
Added Perl support.
2018-01-31 15:47:00 +03:00
Max Romanov
9cd4fdbdb7
Introducing extended app process management.
...
- 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-29 16:17:36 +03:00
Valentin Bartenev
01ec9a5dba
Ability to validate configuration options with multiple types.
2018-01-18 15:52:44 +03:00
Max Romanov
2db8e586e5
Reduced duplication of validated app config options.
...
Common options moved to separate array. Application-specific arrays refers
to common options.
2018-01-18 09:08:25 +03:00
Max Romanov
c2918a0014
Introducing pretty NXT_CONF_VLDT_END macro.
2018-01-18 09:08:16 +03:00
Igor Sysoev
dbd7540a04
Removed duplicate declaration.
2017-12-28 20:50:49 +03:00
Max Romanov
5196cf4d50
Rescheduling of pending request after configured timeout.
...
New optional configuration parameter introduced: limits.reschedule_timeout.
Default value 1 second. In the case when request is written to the port
socket 'in advance', it is called 'pending'.
On every completed request, the head of pending request is checked against
reschedule timeout. If this request waiting for execution longer than
timeout, it is cancelled, new port selected for this request.
2017-12-27 17:48:04 +03:00
Max Romanov
3781950bad
Introducing python virtualenv configuration.
...
New parameter 'home' for python application allows to configure
application-specific virtualenv path.
This closes #15 issue on GitHub.
2017-11-29 18:48:55 +03:00
Valentin Bartenev
1c6d4d8cff
Basic validation errors.
2017-10-10 19:46:58 +03:00
Valentin Bartenev
e4bea2c75c
Optimized application type handling.
2017-10-10 19:15:08 +03:00
Max Romanov
0bec14878e
Introducing application timeout.
2017-09-15 20:30:24 +03:00
Max Romanov
999de31e25
Spreading user validation for php and go apps.
2017-09-06 08:59:18 -07:00
Igor Sysoev
37c16d1801
Fixed building by Sun C on Solaris.
2017-09-06 17:13:18 +03:00
Igor Sysoev
22ae3d4ff5
Controller: validating user and group names.
2017-09-06 02:30:23 +03:00
Max Romanov
f1685e371f
Introducing working_directory directive for applications.
2017-09-05 10:22:44 -07:00
Igor Sysoev
949548da29
The new module configuration interface.
...
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-17 21:47:19 +03:00
Max Romanov
316c77a9de
Fixed building on Solaris by Sun C.
2017-07-25 16:18:31 +03:00
Valentin Bartenev
dc874cd22e
Configuration: improved validation.
2017-07-10 18:53:36 +03:00
Valentin Bartenev
fd0a4ff064
Configuration: basic schema validation for applications.
2017-07-07 20:37:43 +03:00
Valentin Bartenev
c9fbd832ab
Controller: sending JSON configuration to router.
2017-07-06 22:52:05 +03:00
Valentin Bartenev
842aa9ab46
Configuration: basic validation of schema.
2017-07-05 18:44:43 +03:00