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)