Finally figured it out. I enabled debug mode on the error log. It turns out setting the worker_rlimit_nofile in the nginx.conf was not working. On nginx startup it would say “getrlimit(RLIMIT_NOFILE): 1024:4096". I had already checked the security limits and they were set… I confirmed that the workers were using the worker_rlimit_nofile correctly, but the master was not able to reload correctly.
Solution: Add LimitNOFILE to the system service, on the next nginx start up the debug logs show the correct nolimt! Reloading now works! Hurray! [Service] LimitNOFILE=60000 Zach From: nginx <nginx-boun...@nginx.org> On Behalf Of Zach Mitchell Sent: Friday, May 22, 2020 11:49 AM To: nginx@nginx.org Subject: RE: nginx 1.18.0 does not reload on ubuntu 18.04 I’ve also tried that “ExecReload=/bin/kill -s HUP $MAINPID” which doesn’t work either. I’m testing by adding a new location rule and then reloading and it never gets picked up, I have to restart the nginx process and then it finally gets the new config. Zach From: nginx <nginx-boun...@nginx.org<mailto:nginx-boun...@nginx.org>> On Behalf Of Moshe Katz Sent: Friday, May 22, 2020 11:31 AM To: nginx@nginx.org<mailto:nginx@nginx.org> Subject: Re: nginx 1.18.0 does not reload on ubuntu 18.04 I installed nginx on Ubuntu 18.04 from the nginx official repository, and the provided systemd service file is much simpler than yours. It looks like this: ``` [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target ``` You should see if something more like that works for you. On Fri, May 22, 2020 at 10:59 AM Zach Mitchell <zlmit...@syr.edu<mailto:zlmit...@syr.edu>> wrote: I'm using a nginx 1.18.0 and 1.16.1 and when i perform a systemctl restart nginx, it does not actually reload the configs. nginx -s reload does not work either. Am i missing a configure flag that allows this to work properly? Here is my nginx -V built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) built with OpenSSL 1.1.1g 21 Apr 2020 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --with-threads --with-file-aio --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_realip_module --with-compat --with-pcre=../pcre-8.44 --with-pcre-jit --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.1.1g --with-openssl-opt=no-nextprotoneg --add-module=../ngx_cache_purge-2.3 Here is my systemd nginx.service [Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/local/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/local/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target I've got a workaround, which i spawn a 2nd process and wait then kill the old, but what is the deal? ExecReload=/bin/bash -c "/bin/kill -USR2 $MAINPID && /bin/sleep 5 && /bin/kill -WINCH $MAINPID && /bin/sleep 5 && /bin/kill -QUIT $MAINPID" I appreciate the help! Thanks. Zach _______________________________________________ nginx mailing list nginx@nginx.org<mailto:nginx@nginx.org> http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx