Fügen Sie Nginx und andere ausführbare Dateien als Dienste unter Windows hinzu

Fügen Sie hier eine Bildbeschreibung ein

Warum eine ausführbare Datei als Dienst hinzufügen?

Das Hinzufügen einer ausführbaren Datei als Dienst hat mehrere Vorteile:

  1. Autostart: Diese Dienste können beim Systemstart automatisch gestartet werden, ohne dass ein manueller Eingriff erforderlich ist.
  2. Stabilität: Anwendungen, die als Dienste ausgeführt werden, sind im Allgemeinen stabiler, da sie in unabhängigen Prozessen ausgeführt werden und nicht vom Anmeldestatus des Benutzers beeinflusst werden.
  3. Im Hintergrund ausgeführt: Der Dienst wird im Hintergrund ausgeführt, belegt nicht den Platz der Benutzeroberfläche und ist für Serverumgebungen geeignet.
  4. Fernverwaltung: Diese Dienste können mithilfe von Dienstverwaltungstools einfach verwaltet und überwacht werden.

So fügen Sie eine ausführbare Datei als Dienst hinzu

Hier verwenden wir Nginx als Beispiel, und das Gleiche gilt auch für andere ausführbare Dateien.

Schritt 1: Nginx herunterladen und installieren

Gehen Sie zur offiziellen Nginx-Website , um die Windows-Version der ausführbaren Nginx-Datei herunterzuladen.
Entpacken Sie die heruntergeladene Datei in ein Verzeichnis, z. B. C:\nginx\.

Schritt 2: Als Dienst hinzufügen

Methode 1: Verwenden Sie den sc-Befehl, der mit Windows geliefert wird

  1. Öffnen Sie eine Eingabeaufforderung (mit Administratorrechten ausführen).

  2. Fügen Sie Nginx mit dem folgenden Befehl als Dienst hinzu:

    sc create Nginx binPath= "C:\nginx\nginx.exe -g \"daemon off;\"" DisplayName= "Nginx" start= auto
    

In diesem Beispiel ist Nginx der Name des Dienstes, C:\nginx\nginx.exe -g „daemon off;“ ist der vollständige Pfad zur ausführbaren Nginx-Datei und den Startparametern, Nginx ist der Anzeigename des Dienstes und start= auto bedeutet, dass der Dienst beim Systemstart automatisch gestartet wird.

  1. Das Folgende ist die detaillierte Parameterkonfigurationsbeschreibung des sc-Befehls:
    sc create [ServiceName] binPath= "[ExecutablePath] [Options]" DisplayName= "[DisplayName]" start= [StartType]
    
    • ServiceName: Geben Sie den Namen des Dienstes an. Dies ist die Kennung, die Sie bei der späteren Verwaltung des Dienstes verwenden müssen.
    • binPath: Gibt den vollständigen Pfad zur ausführbaren Datei an, einschließlich der ausführbaren Datei selbst und möglicher Befehlszeilenargumente.
    • Options: Wenn Ihre ausführbare Datei zusätzliche Befehlszeilenargumente benötigt, um ordnungsgemäß ausgeführt zu werden, können Sie diese hier angeben.
    • DisplayName: Gibt den Anzeigenamen des Dienstes an, wie er im Dienstmanager angezeigt wird.
    • StartType: Gibt den Starttyp des Dienstes mit den folgenden Optionen an:
      • auto: Starten Sie den Dienst automatisch, wenn das System startet.
      • Nachfrage: Starten Sie den Dienst nur, wenn er manuell angefordert wird (Standard).
      • deaktiviert: Deaktiviert den Dienst und startet ihn nicht automatisch.

Methode 2: Verwenden Sie NSSM (Non-Sucking Service Manager)

  1. Laden Sie NSSM herunter: Gehen Sie zur offiziellen NSSM-Website (https://nssm.cc/), um die neueste Version des NSSM-Tools herunterzuladen.

  2. NSSM installieren: Extrahieren Sie das heruntergeladene NSSM-komprimierte Paket in einen Ordner.

  3. Dienst hinzufügen:

    • Öffnen Sie eine Eingabeaufforderung (mit Administratorrechten ausführen).
    • Navigieren Sie zu dem Verzeichnis, in dem sich NSSM befindet.
    • Führen Sie den folgenden Befehl aus, um die ausführbare Datei als Dienst hinzuzufügen, beispielsweise Nginx als Dienst hinzuzufügen:
      nssm install Nginx
      
    • Konfigurieren Sie Serviceinformationen im Popup-Fenster:
      • Pfad: Der vollständige Pfad zur ausführbaren Datei (zum Beispiel: C:\nginx\nginx.exe).
      • Startverzeichnis: Das Verzeichnis, in dem sich die ausführbare Datei befindet.
      • Argumente: Argumente, die an die ausführbare Datei übergeben werden müssen, z. B. -g „daemon off;“.
      • Dienstname: Der Name des Dienstes (zum Beispiel: Nginx).
    • Klicken Sie auf die Schaltfläche „Dienst installieren“.
  4. Dienste starten und verwalten:

    • Öffnen Sie den Dienstmanager (services.msc).
    • Suchen Sie den Dienst, den Sie gerade hinzugefügt haben, in der Liste und klicken Sie mit der rechten Maustaste, um ihn auszuführen.

Methode 3: Verwenden Sie WinSW

  1. Laden Sie WinSW herunter: Gehen Sie zum GitHub-Repository von WinSW (https://github.com/winsw/winsw), um die neueste Version von WinSW herunterzuladen.

  2. Konfigurieren Sie die WinSW-XML-Datei:

    • Entpacken Sie das heruntergeladene komprimierte WinSW-Paket und suchen Sie die Datei winsw.xml.
    • Öffnen Sie die Datei winsw.xml mit einem Texteditor.
    • Ändern Sie das Element in die ID des Dienstes, das Element in den Namen des Dienstes und das Element in die Beschreibung des Dienstes.
    • Geben Sie den Pfad zur ausführbaren Datei im Element an.
    • Bei Bedarf können Sie weitere Optionen wie usw. konfigurieren.
  3. Installationsdienst:

    • Öffnen Sie eine Eingabeaufforderung (mit Administratorrechten ausführen).
    • Navigieren Sie zu dem Verzeichnis, in dem sich WinSW befindet.
    • Führen Sie den folgenden Befehl aus, um den Dienst zu installieren:
      winsw install
      
  4. Dienste starten und verwalten:

    • Starten, stoppen oder starten Sie den Dienst mit den folgenden Befehlen:

      winsw start
      winsw stop
      winsw restart
      
    • Oder suchen Sie den gerade hinzugefügten Dienst im Dienstmanager und klicken Sie mit der rechten Maustaste, um ihn auszuführen.

Schritt 3: Dienste starten und verwalten

  1. Öffnen Sie den Dienste-Manager (drücken Sie die Tasten Win + R, geben Sie „services.msc“ ein und drücken Sie die Eingabetaste).
  2. Suchen Sie in der Dienstliste den Nginx-Dienst, den Sie gerade erstellt haben.
  3. Klicken Sie mit der rechten Maustaste auf den Dienst und wählen Sie Vorgänge wie Starten, Stoppen und Neustarten aus.

Sonstiges: Dienst löschen

  1. Löschen Sie einen von NSSM hinzugefügten Dienst:
    Navigieren Sie zu dem Verzeichnis, in dem sich NSSM befindet; führen Sie den folgenden Befehl aus, um den Dienst zu löschen, wobei „ServiceName“ der Name des Dienstes ist, den Sie löschen möchten:
nssm remove ServiceName
  1. Von WinSW hinzugefügte Dienste entfernen:
    Navigieren Sie zu dem Verzeichnis, in dem sich WinSW befindet; führen Sie den folgenden Befehl aus, um den Dienst zu entfernen:
winsw uninstall
  1. Entfernen Sie einen mit dem sc-Befehl hinzugefügten Dienst:
    Führen Sie den folgenden Befehl aus, um einen Dienst zu entfernen, wobei „ServiceName“ der Name des Dienstes ist, den Sie entfernen möchten:
sc delete ServiceName

おすすめ

転載: blog.csdn.net/weixin_45626288/article/details/132604305