cd /etc/nginx/sites-enabled sudo ln -s ../sites-available/<sitename> # to disable the site just remove the symlink sudo rm /etc/nginx/sites-enabled/<sitename> # creates a symbolic link, when LINK_NAME omitted the link uses the name from the TARGET # ln -s TARGET [LINK_NAME] sudo nginx -t sudo nginx -s reload # via systemd sudo systemctl reload nginx # or full restart sudo systemctl restart nginx
Helper script
sudo ./nginx-site.sh enable mijnsite.nl sudo ./nginx-site.sh disable mijnsite.nl
#!/bin/bash
SITES_AVAILABLE="/etc/nginx/sites-available"
SITES_ENABLED="/etc/nginx/sites-enabled"
usage() {
echo "Gebruik: $0 enable|disable|edit|list [sitenaam]"
exit 1
}
list_sites() {
echo "Sites beschikbaar in $SITES_AVAILABLE:"
disabled_sites=()
enabled_sites=()
for site in "$SITES_AVAILABLE"/*; do
[ -f "$site" ] || continue
sname=$(basename "$site")
if [ -L "$SITES_ENABLED/$sname" ]; then
enabled_sites+=("$sname")
else
disabled_sites+=("$sname")
fi
done
GREEN="\033[0;32m"
RED="\033[0;31m"
NC="\033[0m" # No Color
for sname in "${disabled_sites[@]}"; do
printf " %-20s [${RED}disabled${NC}]\n" "$sname"
done
for sname in "${enabled_sites[@]}"; do
printf " %-20s [${GREEN}enabled${NC}]\n" "$sname"
done
}
edit_site() {
if [ -z "$sitenaam" ]; then usage; fi
if [ ! -f "$available_path" ]; then
echo "Fout: site '$sitenaam' bestaat niet in $SITES_AVAILABLE"
exit 1
fi
# Gebruik de $EDITOR variabele of standaard naar nano
editor="${EDITOR:-nano}"
"$editor" "$available_path"
}
if [ "$EUID" -ne 0 ]; then
echo "Voer dit script uit als root (bijv. met sudo)"
exit 1
fi
action="$1"
sitenaam="$2"
available_path="$SITES_AVAILABLE/$sitenaam"
enabled_path="$SITES_ENABLED/$sitenaam"
case "$action" in
enable)
if [ -z "$sitenaam" ]; then usage; fi
if [ ! -e "$available_path" ]; then
echo "Fout: $available_path bestaat niet."
exit 1
fi
if [ -L "$enabled_path" ]; then
echo "De site '$sitenaam' is al ingeschakeld."
else
ln -s "$available_path" "$enabled_path"
echo "Site '$sitenaam' ingeschakeld."
nginx -t && systemctl reload nginx
fi
;;
disable)
if [ -z "$sitenaam" ]; then usage; fi
if [ -L "$enabled_path" ]; then
rm "$enabled_path"
echo "Site '$sitenaam' uitgeschakeld."
nginx -t && systemctl reload nginx
else
echo "Site '$sitenaam' is al uitgeschakeld of bestaat niet als symlink."
fi
;;
list)
list_sites
;;
edit)
edit_site
;;
*)
usage
;;
esac
sudo cp nginx-site /usr/local/bin/ sudo nano /usr/local/bin/nginx-site sudo chmod +x /usr/local/bin/nginx-site sudo nginx-site enable mijnsite.nl sudo nginx-site disable mijnsite.nl sudo nginx-site list
Set $EDITOR
In .bashrc, .zshrc of /etc/environment:
export EDITOR=vim
Temporary
EDITOR=vim sudo nginx-site edit mijnsite.nl
526900cookie-checkNginx enable/disable site (Ubuntu)