[Fix] nginx: [emerg] “load_module” directive is specified too late in nginx.conf

Instalarea modulelor pentru Apache si NGINX necesita schimbari ale fisierelor de configuratie. nginx.conf, in cazul nostru.

Pentru userii novice, schimbarea unor linii si directive in nginx.conf poate fi sport extrem, mai ales daca nu inteleg cum functioneaza blocurile NGINX.

Eroarea “nginx: [emerg] “load_module” directive is specified too late in nginx.conf” este cea mai frecventa atunci cand se adauga un modul de NGINX dupa ce a fost instalat. Rezolvarea ei este foarte simpla si nu trebuie sa facem altceva decat sa punem liniile modulelor in partea superioara a nginx.conf.

In comparatie cu alte fisiere de configurare, NGINX executa directivele, definitiile si conditiile din ordinea in care ele sunt trecute in fisierul nginx.conf.

Un exemplu concret. Daca instalam modulul Brotli pentru NGINX, liniile de incarcare a modulelor trebuie sa fie imediat dupa id-ul procesului NGINX, astfel ca urmatoarele linii specifice sa tina cont de aceste module si procesul sa ruleze corect.

 user nginx;
 worker_processes 2;
 pid /var/run/nginx.pid;
 load_module modules/ngx_http_brotli_filter_module.so;
 load_module modules/ngx_http_brotli_static_module.so;
 events {
 worker_connections 1024;
 }
 ....

Dupa ce ati schimbat locul liniilor de incarcare a modulelor, executati comanda nginx -t in SSH pentru a va asigura ca totul este ok si nu exista alte erori. Restartati serviciul NGINX pentru ca schimbarile din nginx.conf sa aiba efect.

Pasionat de tehnologie, scriu cu plăcere pe StealthSettings.com începând cu anul 2006. Am o bogată experiență în sistemele de operare: macOS, Windows și Linux, dar și în limbaje de programare și platforme de blogging (WordPress) și pentru magazine online (WooCommerce, Magento, PrestaShop).

How to » Linux » [Fix] nginx: [emerg] “load_module” directive is specified too late in nginx.conf
Leave a Comment