Updating NGINX config from git artifact with zero downtime


We’re currently using NGINX as a system job for reverse proxying to all of our jobs in the cluster. I’ve configured the config as a git artifact so that it can be version controlled. How can I force the NGINX job to re-download the artifact and reload when there is a change? Normally you would just send the SIGHUP signal to NGINX to reload the config but that won’t pull through the latest changes.

The only way I’ve figured out how to do this is to re-deploy the job with a minor change but this causes downtime. Is there a work-around that we can use?


Hi @darryldaniel,

In this configuration, Nomad will not have an understanding of when the remote file has changed, and therefore a deployment as you described is required.

Could you expand on how this causes downtime? Nomad and NGINX should be able to provide enough options that this doesn’t affect external traffic.

jrasell and the Nomad team