Unabhängige Implementierung der Nginx-Containerkonfigurationsdatei

Unabhängige Implementierung der Nginx-Containerkonfigurationsdatei

Erstellen eines Containers

[root@server1 ~]# docker run -it --name nginx1 -v /opt/data/web2:/web -p 81:80 centos:latest /bin/bash
[root@608de4875036 /]#

Rufen Sie das Webverzeichnis auf und laden Sie das Nginx-Paket herunter

[root@608de4875036 web]# wget http://nginx.org/download/nginx-1.20.1.tar.gz

Entpacken Sie das Verzeichnis

[root@608de4875036 web]# ls
nginx-1.20.1 nginx-1.20.1.tar.gz

Installieren von Abhängigkeitspaketen

[root@608de4875036 web]# yum -y installiere pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make
[root@608de4875036 web]# yum -y groups mark install 'Entwicklungstools'

Benutzer erstellen

[root@608de4875036 web]# useradd -r -M -s /sbin/nologin nginx
[root@608de4875036 web]# id nginx
UID = 998 (nginx) GID = 996 (nginx) Gruppen = 996 (nginx)

Erstellen einer Protokollspeicherdateiadresse

[root@6ad47178bdd6 web]# mkdir-Protokoll

Kompilieren und installieren

[root@608de4875036 web]# ls
Protokoll nginx-1.20.1 nginx-1.20.1.tar.gz
[root@608de4875036 web]# cd nginx-1.20.1
[root@608de4875036 nginx-1.20.1]# ls
auto conf html README
ÄNDERUNGEN konfigurieren LIZENZ src
CHANGES.ru Beitrag Mann

[root@608de4875036 nginx-1.20.1]# ./konfigurieren \
--prefix=/web/nginx \
--Benutzer=nginx \
--group=nginx \
--mit-debug \
--mit-http_ssl_module \
--mit-http_realip_module \
--mit-http_image_filter_module \
--mit-http_gunzip_module \
--mit-http_gzip_static_module \
--mit-http_stub_status_module \
--http-log-path=/web/log/access.log \
--error-log-path=/web/log/error.log

[root@608de4875036 nginx-1.20.1]# make && make install

Katalog anzeigen

[root@6ad47178bdd6 web]# ls
Protokoll nginx nginx-1.20.1 nginx-1.20.1.tar.gz


[root@608de4875036 web]# cd nginx
[root@608de4875036 nginx]# ls
conf html Protokolle sbin

Konfigurieren von Umgebungsvariablen

[root@608de4875036 nginx]# ls
conf html Protokolle sbin
[root@608de4875036 nginx]# cd sbin/
[root@608de4875036 sbin]# ls
nginx
[root@608de4875036 sbin]# pwd
/web/nginx/sbin

[root@608de4875036 sbin]# echo "export PATH=/web/nginx/sbin:\$PATH" > /etc/profile.d/nginx.sh
[root@608de4875036 sbin]# Quelle /etc/profile.d/nginx.sh
[root@608de4875036 sbin]# welches nginx
/web/nginx/sbin/nginx

Starten des Dienstes

[root@608de4875036 sbin]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess         
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*   

Anzeigen von Diensten auf dem Container

[root@608de4875036 web]# ls
nginx nginx-1.20.1 nginx-1.20.1.tar.gz
[root@608de4875036 web]# cd nginx
[root@608de4875036 nginx]# ls
client_body_temp html sbin
conf-Protokolle scgi_temp
fastcgi_temp proxy_temp uwsgi_temp

Ansicht auf dem Hostcomputer

[root@server1 ~]# cd /opt/data/
[root@server1 Daten]# ls
Webseite1 Webseite2
[root@server1 Daten]# cd web2
[root@server1 web2]# ls
Protokoll nginx nginx-1.20.1 nginx-1.20.1.tar.gz

[root@server1 web2]# cd nginx
[root@server1 nginx]# ls
client_body_temp html sbin
conf-Protokolle scgi_temp
fastcgi_temp proxy_temp uwsgi_temp

Sie können sehen, dass die Daten synchronisiert wurden

Ändern Sie die Konfigurationsdatei auf dem Host

Erstellen Sie ein Verzeichnis mit dem Namen xy und kopieren Sie den Spielcode in dieses Verzeichnis

[root@server1 html]# pwd
/opt/data/web2/nginx/html
[root@server1 html]# mkdir yx
[root@server1 html]# cd yx
[root@server1 yx]# ls
Bildindex.html js

Erstellen eines Verzeichnistests

[root@server1 html]# mkdir test
[root@server1 html]# ls
[root@server1 html]# ls
50x.html index.html test yx
[root@server1 html]# mv 50x.html index.html test/
[root@server1 html]# ls
Testen Sie yx

Ändern Sie die Konfigurationsdatei nginx.conf

[root@server1 conf]# vi nginx.conf

........

    Server {
         hören Sie 8080;
         Servername test.example.com;

         Standort / {
             root /web/nginx/html/test; #Dateiadresse im Containerindex index.html index.htm;
         }
    }

   Server {
        hören Sie 80;
        Servername xy.beispiel.com;

        #Zeichensatz koi8-r;

        #access_log Protokolle/Host.access.log Haupt;

        Standort / {
            root /web/nginx/html/yx; #Dateiadresse im Containerindex index.html index.htm;
        }
.....

Bei dieser Änderung gibt es jedoch ein Problem: Es wird nur ein Port zugeordnet, der andere Port jedoch nicht.

[root@server1 conf]# Docker-Port 608de4875036
80/tcp -> 0.0.0.0:81
80/tcp -> :::81

Wie kann das Problem gelöst werden?

Diesen Container löschen

[root@server1 ~]# docker stop 608de4875036
608de4875036
[root@server1 ~]# docker rm 608de4875036
608de4875036

Die Daten befinden sich hier noch auf dem Hostcomputer

[root@server1 web2]# ls
Protokoll nginx nginx-1.20.1 nginx-1.20.1.tar.gz

Erstellen Sie dieses Verzeichnis als Containerzuordnung neu

[root@server1 ~]# docker run -it --name nginx2 -v /opt/data/web2:/web -p 80:80 -p 8080:8080 centos:latest /bin/bash
[root@6ad47178bdd6 /]#

Ansicht auf dem Hostcomputer

[root@server1 ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
6ad47178bdd6 centos:latest "/bin/bash" vor 23 Sekunden. Vor 22 Sekunden aktiv. 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp nginx2
[root@server1 ~]# Docker-Port 6ad47178bdd6
80/tcp -> 0.0.0.0:80
80/tcp -> :::80
8080/tcp -> 0.0.0.0:8080
8080/tcp -> :::8080

Überprüfen Sie, ob die Daten im Container synchronisiert sind

[root@6ad47178bdd6 /]# ls
bin home verloren+gefunden opt run sys var
dev lib media proc sbin tmp web
usw. lib64 mnt root srv usr
[root@6ad47178bdd6 /]# cd web/
[root@6ad47178bdd6 web]# ls
nginx nginx-1.20.1 nginx-1.20.1.tar.gz
[root@6ad47178bdd6 web]# cd nginx
[root@6ad47178bdd6 nginx]# ls
client_body_temp html sbin
conf-Protokolle scgi_temp
fastcgi_temp proxy_temp uwsgi_temp
#Datensynchronisation

Starten des Dienstes

#Schreiben Sie eine Umgebungsvariable [root@6ad47178bdd6 /]# cat /etc/profile.d/nginx.sh 
export PATH=/web/nginx/sbin:$PATH
#Nginx-Benutzer erstellen [root@6ad47178bdd6 /]# useradd -r -M -s /sbin/nologin nginx
[root@6ad47178bdd6 /]# nginx
[root@6ad47178bdd6 /]# ss -antl
Status Recv-Q Send-Q Lokale Adresse:Port Peer-Adresse:Port Prozess         
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*                            
LISTEN 0 128 0.0.0.0:8080 0.0.0.0:*   

Besuchen Sie 192.168.244.145:80

Bildbeschreibung hier einfügen

Besuchen Sie 192.168.244.145:8080

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die Implementierung unabhängiger Nginx-Containerkonfigurationsdateien. Weitere verwandte unabhängige Nginx-Containerkonfigurationsdateien finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Nginx-Konfigurationsdatei und Anleitung mit Optimierungsvorschlägen
  • So zeigen Sie den Nginx-Konfigurationsdateipfad und den Ressourcendateipfad an
  • Detaillierte Erklärung der Nginx-Konfigurationsdatei
  • Detaillierte Erklärung zur Interpretation der Nginx-Konfigurationsdatei
  • Detaillierte Erläuterung der Konfiguration und Optimierung des statischen Nginx-Dateidienstes

<<:  Eine kurze Diskussion über die Ungültigkeitserklärung oder implizite Konvertierung von MySQL-Integer- und String-Indizes

>>:  Eine kurze Diskussion über HTML-Titel, Absätze, Zeilenumbrüche, horizontale Linien und Sonderzeichen

Artikel empfehlen

NULL und leere Zeichenfolge in MySQL

Ich bin vor kurzem mit MySQL in Berührung gekomme...

SQL-Implementierung von LeetCode (175. Zwei Tabellen verbinden)

[LeetCode] 175.Zwei Tabellen kombinieren Tabelle:...

Einführung in die Verwendung von Requisiten in Vue

Vorwort: In Vue können Props verwendet werden, um...

In JavaScript integrierter Zeit- und Datumsformatierungsbeispielcode

1. Grundkenntnisse (Methoden von Datumsobjekten) ...

Detaillierte Erläuterung der Verwendung des gcc-Befehls unter Linux

Inhaltsverzeichnis 1. Vorverarbeitung 2. Zusammen...

Natives js zum Erreichen eines einfachen Karusselleffekts

In diesem Artikel wird der spezifische Code von j...

So komprimieren Sie Bilder effektiv mit JS

Inhaltsverzeichnis Vorwort Konvertierungsbeziehun...

Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte

Voraussetzungen 1. Docker wurde auf dem lokalen C...

So dekomprimieren Sie mehrere Dateien mit dem Befehl „unzip“ in Linux

Lösung für das Problem, dass in Linux kein Entpac...

Vue verwendet Filter zum Formatieren von Daten

In diesem Artikelbeispiel wird der spezifische Co...