[LINUX] Einfache Einstellungen für HTTP-Server und Systemd-Autostart in Go

Auf dieser Seite veröffentlichen wir einen einfachen HTTP-Servercode in Go, und systemd startet automatisch das Programm des Linux-Dienstes (Ubuntu, Archlinux).

Einfacher HTTP-Servercode in Go

$ pwd
$HOME/go/src/SimpleHttp

$ cat SimpleHttp.go
package main

import (
        "fmt"
        "net/http"
)

func SimpleHttpHandler(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Einfacher HTTP-Server&Installation von Systemd Service")
}

func main() {
        http.HandleFunc("/", SimpleHttpHandler)

        //Booten Sie auf Port 8080
        http.ListenAndServe(":8080", nil)
}

Erstellen Sie SimpleHttp

$ pwd
$HOME/go/src/SimpleHttp

$ tree
.
└── SimpleHttp.go

0 directories, 1 file

$ go build SimpleHttp.go

$ tree
.
├── SimpleHttp
└── SimpleHttp.go

0 directories, 2 files

Inhalt der Gerätedatei SimpleHttp.service

$ cat /lib/systemd/system/SimpleHttp.service 
[Unit]
Description = SimpleHttp.service daemon

[Service]
Environment="GOPATH=$HOME/go"
ExecStart=$HOME/go/src/SimpleHttp/SimpleHttp
Restart=always
Type=simple
User=ubuntu
Group=ubuntu
# Other directives omitted
# (file size)
LimitFSIZE=infinity
# (cpu time)
LimitCPU=infinity
# (virtual memory size)
LimitAS=infinity
# (open files)
LimitNOFILE=64000
# (processes/threads)
LimitNPROC=64000

[Install]
WantedBy = multi-user.target

Neuladen des SimpleHttp-Dienstes

Führen Sie immer den folgenden Befehl aus, nachdem Sie eine neue Einheitendatei, SimpleHttp.service, erstellt oder geändert haben.

sudo systemctl daemon-reload

Aktivieren Sie den SimpleHttp-Dienst

$ sudo systemctl enable SimpleHttp.service

Starten Sie den SimpleHttp-Dienst

$ sudo systemctl start SimpleHttp.service

Beenden Sie den SimpleHttp-Dienst

sudo systemctl stop SimpleHttp.service

Deaktivieren Sie den SimpleHttp-Dienst

$ sudo systemctl disable SimpleHttp.service

Überprüfen Sie die Arch Linux-Version

$ uname -a
Linux arch.local 5.6.10-arch1-1 #1 SMP PREEMPT Sat, 02 May 2020 19:11:54 +0000 x86_64 GNU/Linux

$ lsb_release -a
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a

Überprüfen Sie die Ubuntu-Version

$ uname -a
Linux ip-172-31-8-186 5.3.0-1017-aws #18~18.04.1-Ubuntu SMP Wed Apr 8 15:12:16 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.4 LTS
Release:	18.04
Codename:	bionic

Recommended Posts

Einfache Einstellungen für HTTP-Server und Systemd-Autostart in Go
Erstellen Sie einen Webserver in der Sprache Go (net / http) (1)
Einfacher HTTP-Server mit Python
Tomcat-Installations- und Autostart-Einstellungen
Schreiben Sie einen HTTP / 2-Server in Python
Netzwerkeinstellungen und Bestätigung in CentOS7
Einfache Serverüberwachung mit AWS Lambda (Python) und Ergebnisbenachrichtigung mit Slack
Erstellen Sie einen leichtgewichtigen Server in Python und hören Sie sich die HTTP-Erweiterungen von Scratch 2 an
Implementieren und verstehen Sie den Union-Find-Baum in Go
Implementieren Sie die Wiederholung und Erkundung von Gedenkstätten in Python und Go
J / N-Verarbeitung mit Bash, Python und Go
Starten Sie einen HTTP-Server im aktuellen Verzeichnis
Erstellen Sie erste Einstellungen und Mitarbeiter-Apps in Django
GRPC beginnend mit Go-Server und Dart-Client