Konfigurer Nginx til at køre på port 80 uden sudo: Trin-for-trin guide

Hvordan kan Nginx konfigureres til at køre på port 80 ved opstart uden at kræve brug af sudo, når der opstår en fejlmeddelelse om manglende tilladelser?

For at konfigurere Nginx til at køre på port 80 ved opstart uden at kræve brug af sudo, skal du bruge 'setcap' til at give Nginx tilladelse til at bruge port 80 og derefter konfigurere en systemd servicefil til automatisk opstart.

Hvordan kan Nginx konfigureres til at køre på port 80 ved opstart uden at kræve brug af sudo, når der opstår en fejlmeddelelse om manglende tilladelser?

For at konfigurere Nginx til at køre på port 80 ved opstart uden at kræve brug af sudo, kan du følge disse trin:

  1. Brug af 'setcap' til at give Nginx tilladelse til at bruge port 80:
    • Installer 'setcap' hvis det ikke allerede er installeret:
      sudo apt-get install libcap2-bin
    • Giv Nginx tilladelse til at bruge port 80:
      sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx
  2. Konfigurer Nginx til at starte automatisk ved opstart:
    • Opret eller rediger en systemd servicefil for Nginx:
      sudo nano /etc/systemd/system/nginx.service
    • Tilføj eller rediger følgende indhold i servicefilen:
      
      [Unit]
      Description=A high performance web server and a reverse proxy server
      After=network.target
      
      [Service]
      Type=forking
      ExecStartPre=/usr/sbin/nginx -t
      ExecStart=/usr/sbin/nginx
      ExecReload=/usr/sbin/nginx -s reload
      ExecStop=/usr/sbin/nginx -s quit
      PrivateTmp=true
      
      [Install]
      WantedBy=multi-user.target
              
    • Genindlæs systemd daemon og aktiver Nginx service:
      
      sudo systemctl daemon-reload
      sudo systemctl enable nginx
              
  3. Kontroller Nginx status:
    • Start Nginx service:
      sudo systemctl start nginx
    • Kontroller status for at sikre, at Nginx kører korrekt:
      sudo systemctl status nginx

Ved at følge disse trin kan du konfigurere Nginx til at køre på port 80 ved opstart uden at kræve brug af sudo, og dermed undgå fejlmeddelelser om manglende tilladelser.