GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So installieren und konfigurieren Sie Nginx als Proxy OpenSUSE Leap 15.3

In diesem Handbuch erfahren Sie, wie Sie Nginx in OpenSUSE Leap 15.3 installieren und als Proxyserver einrichten. Wir richten einen virtuellen Nginx-Host ein, der eine Anfrage von einer Domain an einen Dienst weiterleitet, der einen Port überwacht.

Verwandte Inhalte

  • So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04
  • So installieren Sie den Apache PHP 7.4 (LAMP) Stack auf Rocky Linux/Centos 8
  • Wie man PHP und Nginx (LEMP) unter Debian 11 installiert und einrichtet
  • Wie man PHP und Apache (LAMP-Stack) unter Debian 11 installiert und einrichtet

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Installieren von Nginx auf OpenSUSE Leap 15.3
  3. Starten und Aktivieren des Nginx-Dienstes in OpenSUSE
  4. Einrichten des Proxy-Dienstes
  5. Erstellen eines virtuellen Nginx-Hosts zum Weiterleiten der Anfrage
  6. Testen der Konfiguration

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, sollten Sie immer sicherstellen, dass der Server auf dem neuesten Stand ist. Verwenden Sie diese Befehle, um dies zu erreichen

sudo zypper refresh
sudo zypper update -y

2. Installieren von Nginx auf OpenSUSE Leap 15.3

Nginx, als stabiler Hochleistungs-Webserver und mit sehr geringem Ressourcenverbrauch. Nginx hat eine asynchrone Architektur, die viel skalierbarer ist und auf Ereignissen basiert.

Nginx ist in den standardmäßigen UpenSUSE-Repositorys verfügbar. Installieren Sie es mit diesem Befehl:

sudo zypper install -y nginx

Bestätigen Sie das installierte nginx

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

3. Nginx-Dienst starten und aktivieren

Der installierte Nginx-Dienst wird standardmäßig nicht gestartet. Um den Dienst zu starten, verwenden Sie diesen Befehl:

sudo systemctl start nginx

Bestätigen Sie mit diesem Befehl, dass der Dienst ausgeführt wird:

~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

Um den Dienst beim Booten zu aktivieren, verwenden Sie diesen Befehl:

sudo systemctl enable nginx

4. Service-to-Proxy einrichten

In diesem Beispiel verwenden wir einen einfachen Dienst, den ich bereits erstellt habe. Ich habe hier einen Golang-Service, aber Sie können Ihren Service gerne nutzen.

➜ /tmp/gosimple
2021/12/20 23:38:34 service running, listening on 3000

Testen Sie den Dienst

➜ curl -iL http://127.0.0.1:3000/
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 20:39:01 GMT
Content-Length: 12
Content-Type: text/plain; charset=utf-8

Hello World!

5. Virtuellen Nginx-Host erstellen, um die Anfrage weiterzuleiten

Mit Nginx können Sie mehrere Sites mithilfe virtueller Hosts bedienen. Das Konzept der virtuellen Hosts ermöglicht mehr als eine Website auf einem System oder Webserver. Die Server werden durch ihren Hostnamen unterschieden. Besucher der Website werden anhand des Hostnamens oder der IP-Adresse an den richtigen virtuellen Host geleitet. Virtuelles Hosting ermöglicht es Unternehmen, die sich einen Server teilen, um jeweils ihre eigenen Domainnamen zu haben.

Ein Nginx-Serverblock kann verwendet werden, um Konfigurationsdetails zu kapseln und mehr als eine Domain auf einem einzelnen Server zu hosten. Wir werden einen virtuellen Host für unsere Website erstellen (site1.citizix.com ).

Konfigurationen für virtuelle Nginx-Hosts werden im Verzeichnis /etc/nginx/conf.d/ gespeichert . Lassen Sie uns eine Konfiguration für unsere Site erstellen:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

Fügen Sie den folgenden Inhalt hinzu

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /opt/simpleapp;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://127.0.0.1:3000;
    }
}

Lassen Sie uns nginx neu starten, damit die Konfiguration angewendet wird:

sudo systemctl restart nginx

6. Testen der Konfiguration

In diesem Beispiel verwenden wir die Domäne site1.citizix.com für den virtuellen Host, aber Sie können die Domain Ihrer Wahl verwenden. Bitte beachten Sie, dass das DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass es auf die IP-Adresse des Servers zeigt. Bestätigen Sie dies mit:

dig -t A site1.citizix.com

Wenn Sie Ihre DNS-Einstellungen noch nicht konfiguriert haben oder einfach nicht möchten, dass die Website live geht, können Sie die Hosts-Datei Ihres Computers ändern. Verwenden Sie dazu den folgenden Befehl in der CLI Ihres lokalen Computers

sudo vim /etc/hosts

Fügen Sie dann die IP-Adresse Ihres tatsächlichen Servers hinzu, gefolgt von dem Domänennamen, den Sie konfigurieren, zum Beispiel:

10.2.11.11 site1.citizix.com

Mit dieser Einrichtung können wir eine Anfrage an unsere Domain stellen. Bei mir funktioniert es einwandfrei!

➜ curl -iL http://site1.citizix.com
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Dec 2021 20:51:42 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 12
Connection: keep-alive

Hello World!

Abschluss

Wir haben es geschafft, Nginx in diesem Handbuch als Proxy zu installieren und einzurichten!


OpenSuse
  1. So installieren Sie PostgreSQL und phpPgAdmin unter OpenSUSE Leap 42.1

  2. So installieren Sie Seafile mit Nginx auf openSUSE Leap 42.1

  3. So installieren Sie Mongodb 5 in Opensuse Leap 15.3

  4. So installieren und verwenden Sie Podman in OpenSUSE Leap 15.3

  5. So installieren Sie Java 17 in OpenSUSE Leap 15.3

So installieren Sie WordPress mit HHVM und Nginx auf OpenSUSE Leap 42.1

So installieren Sie einen OpenSUSE Leap 42.1 KDE-Desktop

So installieren Sie ownCloud 9 mit Nginx auf OpenSUSE Leap 42.1

So installieren Sie Skype auf openSUSE Leap

So installieren Sie NGINX auf openSUSE

So installieren Sie Dropbox auf openSUSE Leap 42.2