Commit Graph

8 Commits

Author SHA1 Message Date
Christian Marangi
4c4e49064a nginx: drop deprecated luci.module in module.d
Since we moved to automatic loading of dynamic modules, we need to drop
the previous include luci.module or we end up with nginx failing to
start for old configurations.

Fixes: caffa410ed ("nginx: autoload dynamic modules")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-05-09 19:29:49 +02:00
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