Commit Graph

7 Commits

Author SHA1 Message Date
Sean Khan caffa410ed nginx: autoload dynamic modules
In current setup, dynamic modules are not autoloaded, requiring users
to create and load additional config files.

We should assume that if a user installs additional modules, they want
them 'on' by default.

This commit does the following:

1.) generates a module load config in '/etc/nginx/modules.d' with the
    format '${module_name}'.module
    (i.e. /etc/nginx/modules.d/ngx_http_geoip2.module)
2.) deletes previous module conf for 'luci'
    /etc/nginx/modules.d/luci.module if it exists, this will prevent
    'module already loaded' errors.

The following is a portion of the final output when using the
default uci template `/etc/nginx/uci.conf.template` (via nginx-util):

```
nginx -T -c '/etc/nginx/uci.conf'

load_module /usr/lib/nginx/modules/ngx_http_brotli_filter_module.so;

load_module /usr/lib/nginx/modules/ngx_http_brotli_static_module.so;

load_module /usr/lib/nginx/modules/ngx_http_dav_ext_module.so;

load_module /usr/lib/nginx/modules/ngx_http_geoip2_module.so;

load_module /usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so;

load_module /usr/lib/nginx/modules/ngx_http_lua_module.so;

load_module /usr/lib/nginx/modules/ngx_http_naxsi_module.so;

load_module /usr/lib/nginx/modules/ngx_http_ts_module.so;

load_module /usr/lib/nginx/modules/ngx_http_ubus_module.so;

load_module /usr/lib/nginx/modules/ngx_rtmp_module.so;

load_module /usr/lib/nginx/modules/ngx_stream_module.so;

load_module /usr/lib/nginx/modules/ngx_stream_geoip2_module.so;
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-04-18 13:02:42 +02:00
Christian Marangi 65a676ed56
nginx: introduce support for dynamic modules
Start building sub package that provide dynamic modules.

Each module needs to be loaded using load_modules.
Refer to nginx documentation on how to use this.

This should result in lower memory usage as only used module are loaded.

Also fix the uci-default scripts to add the required ubus module for
luci module.

-fvisibility=hidden is needed to be dropped to correctly support loading
dynamic modules.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-04-27 06:14:57 +02:00
Daniel Golle c8bfe55026 nginx: adapt to changed ubus socket path
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-10-29 21:02:18 +02:00
Peter Stadler 2401fd6db5 nginx: use /etc/nginx/nginx.conf enabling conf.d/
Instead of the default nginx.conf file this file is a small variant
without examples that enables the /etc/nginx/conf.d/ directory.

It will pull in all configuration files from the conf.d directory.
So, other packages can add their server parts in the conf.d directory
without modifying the main nginx.conf file (cf. #9860).

Changed also the default logging behavior:
	error_log stderr; # the init forwards it to logd
	access_log off;

See the updated documentation at:
https://openwrt.org/docs/guide-user/services/webserver/nginx

Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
2020-01-28 12:24:55 +01:00
Ansuel Smith 980296574c
nginx: adds ubus external module
- Adds ubus module to nginx
- Select module by default
- Adds script to detect ubus module and append config for luci
- Switch all external module to xz

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2019-10-30 21:32:12 +01:00
Ansuel Smith 433e0fe771
nginx: fix bug in uci-defaults scripts
Currently the uci-defaults scripts reset nginx config even it they are valid due to a bug in the if condition.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-07-14 23:40:26 +02:00
Ansuel Smith 4195561666
nginx: add luci-support package
This adds an additional file for ngix that contains all the files need to make luci works on the nginx webserver.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-06-14 19:58:44 +02:00