feat: add nginx:reload command

Reloads the nginx server config after validating it with `nginx -t`. Useful for picking up changes to globally managed nginx configs without restarting the running process.
This commit is contained in:
Jose Diaz-Gonzalez
2026-04-27 02:55:30 -04:00
parent e4a8cfc74f
commit a4f26a356a
3 changed files with 30 additions and 0 deletions

View File

@@ -235,6 +235,29 @@ cmd-nginx-stop() {
fn-nginx-vhosts-nginx-init-cmd "disable"
}
cmd-nginx-reload() {
declare desc="reloads the nginx server config"
declare cmd="nginx:reload"
[[ "$1" == "$cmd" ]] && shift 1
local NGINX_LOCATION EXIT_CODE
NGINX_LOCATION=$(get_nginx_location)
if [[ -z "$NGINX_LOCATION" ]]; then
exit 1
fi
set +e
sudo "$NGINX_LOCATION" -t &>/dev/null
EXIT_CODE=$?
set -e
if [[ "$EXIT_CODE" -ne "0" ]]; then
sudo "$NGINX_LOCATION" -t
exit "$EXIT_CODE"
fi
fn-nginx-vhosts-nginx-init-cmd "reload"
}
cmd-nginx-validate-config() {
declare desc="validates and optionally cleans up invalid nginx configurations"
declare cmd="nginx:validate-config"

View File

@@ -32,6 +32,7 @@ fn-help-content() {
nginx:report [<app>] [<flag>], Displays an nginx report for one or more apps
nginx:set <app> <property> (<value>), Set or clear an nginx property for an app
nginx:show-config <app>, Display app nginx config
nginx:reload, Reloads the nginx server config
nginx:start, Starts the nginx server
nginx:stop, Stops the nginx server
nginx:validate-config [<app>] [--clean], Validates and optionally cleans up invalid nginx configurations

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
source "$PLUGIN_AVAILABLE_PATH/nginx-vhosts/command-functions"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
cmd-nginx-reload "$@"