1. Laden Sie das neueste Nginx-Docker-Image herunter $ docker pull nginx:latest 2. Starten Sie den Nginx-Container Führen Sie den folgenden Befehl aus, um den Nginx-Container zu starten docker run --detach \ --name wx-nginx \ -p 443:443\ -p 80:80 \ -v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:rw\ -v /home/evan/workspace/wxserver/nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw\ -v /home/evan/workspace/wxserver/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw\ -v /home/evan/workspace/wxserver/nginx/logs:/var/log/nginx/:rw\ -v /home/evan/workspace/wxserver/nginx/ssl:/ssl/:rw\ -d nginx
Hier müssen Sie folgende Dateien vorbereiten: 1. nginx-Konfigurationsdatei Zuerst kommt die Datei nginx.conf. Die Standardkonfigurationsdatei lautet wie folgt #Benutzer, der Nginx ausführt, Benutzer nginx; #Starten Sie den Prozess und stellen Sie ihn so ein, dass er der Anzahl der CPUs entspricht worker_processes 1; #Der Speicherort des globalen Fehlerprotokolls und der PID-Datei error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; #Arbeitsmodus und Verbindungslimit-Ereignisse { #Die maximale Anzahl gleichzeitiger Prozesse für einen einzelnen Hintergrundarbeiter ist auf 1024 festgelegt Arbeiterverbindungen 1024; } http { #MIME-Typ festlegen, einschließlich /etc/nginx/mime.types; Standardtyp Anwendung/Oktett-Stream; #Legen Sie das Protokollformat fest log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Zugriffsprotokoll /var/log/nginx/access.log Haupt; sendfile an; #tcp_nopush ein; #Legen Sie das Verbindungs-Timeout-Ereignis keepalive_timeout 65 fest; #GZIP-Komprimierung aktivieren #gzip on; schließen Sie /etc/nginx/conf.d/*.conf ein; } Sie können sehen, dass die letzte Zeile auch eine weitere Konfigurationsdatei conf.d/default.conf enthält, die zur Konfiguration des Serverfelds verwendet wird Server { listen 80; #Hören Sie auf Port 80. Wenn Sie alle Zugriffe auf HTTPS erzwingen, muss diese Zeile gelöscht werden: server_name www.buagengen.com; #Domänenname#charset koi8-r; #access_log /var/log/nginx/host.access.log main; # Definieren Sie das Indexverzeichnis und den Namen des Homepage-Speicherorts / { root /usr/share/nginx/html; Index Index.html Index.htm; } #Definieren Sie die Fehleraufforderungsseite #error_page 404 /404.html; #Fehlerseite auf /50x.html umleiten Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { root /usr/share/nginx/html; } } 2. Die HTML-Datei der Standard-Homepage von nginx Sie können dieses HTML selbst definieren, alles ist ausreichend. Derzeit können Sie direkt über die IP-Adresse auf die von nginx definierte HTML-Datei zugreifen. Allerdings erfolgt der Zugriff derzeit nur über http, ein Zugriff über https ist weiterhin nicht möglich. Sie müssen dem nginx-Server ein Zertifikat hinzufügen. 3. Generieren Sie ein Zertifikat über OpenSSL Setzen Sie server.key. Sie müssen das Passwort zweimal setzen: openssl genrsa -des3 -out server.key 1024 Parametereinstellung, zuerst müssen Sie das zuvor festgelegte Passwort eingeben: openssl req -new -key server.key -out server.csr Dann müssen Sie die folgenden Informationen eingeben. Füllen Sie sie einfach grob aus, es dient jedenfalls zum Testen Ländername (2-Buchstaben-Code) [AU]: Name des Staates oder der Provinz (vollständiger Name) [Some-State]: Ortsname (z. B. Stadt) []: Name der Organisation (z. B. Firma) [Internet Widgits Pty Ltd]: Name der Organisationseinheit (z. B. Abteilung) []: Allgemeiner Name (z. B. Server-FQDN oder IHR Name) []: Website-Domäne E-Mail-Adresse []: E-Mail-Adresse Bitte geben Sie die folgenden „zusätzlichen“ Attribute ein wird mit Ihrem Zertifikatsantrag mitgeschickt Ein Challenge-Passwort []: Geben Sie hier ein Passwort ein. Ein optionaler Firmenname []: Geben Sie den RSA-Schlüssel ein (Sie müssen außerdem das zuvor festgelegte Passwort eingeben): openssl rsa -in server.key -out server_nopwd.key Holen Sie sich den privaten Schlüssel: openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt Nach Abschluss dieses Schritts erhalten wir die benötigte Zertifikatsdatei und den privaten Schlüssel.
4. Konfigurieren Sie den Nginx-Server so, dass er den HTTPS-Zugriff unterstützt Kopieren Sie die im vorherigen Schritt generierte Datei in das SSL-Verzeichnis auf dem Host, /home/evan/workspace/wxserver/nginx/ssl. Ändern Sie dann die Konfigurationsdatei default.conf und fügen Sie SSL-Unterstützung hinzu. Server { listen 80; #Hören Sie auf Port 80. Wenn Sie alle Zugriffe über HTTPS erzwingen möchten, muss diese Zeile abgemeldet werden. listen 443 ssl; Servername www.buagengen.com; #Domänenname# SSL hinzufügen #ssl on; #Wenn Sie HTTPs-Zugriff erzwingen, sollte diese Zeile ssl_certificate /ssl/server.crt öffnen; SSL-Zertifikatsschlüssel /ssl/server.key; ssl_session_cache geteilt:SSL:1m; SSL-Sitzungszeitüberschreitung 5 Min. # Geben Sie die Chiffre im von OpenSSL SSL_Protocols SSLv2 SSLv3 TLSv1.2 unterstützten Format an. ssl_ciphers HIGH:!aNULL:!MD5; # Methode zur Kennwortverschlüsselung ssl_prefer_server_ciphers on; # Server-Chiffren, die auf den Protokollen SSLv3 und TLSv1 basieren, haben Vorrang vor Client-Chiffren # Definieren Sie das Indexverzeichnis und den Namensort der Homepage / { root /usr/share/nginx/html; Index Index.html Index.htm; } #Fehlerseite auf /50x.html umleiten Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { root /usr/share/nginx/html; } } Starten Sie den Nginx-Container neu. Jetzt können Sie über https auf den Nginx-Server zugreifen. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Verwendung von React.Children
Der Dateiname der dynamischen Bibliotheksdatei un...
Jede Website stößt normalerweise auf viele Crawle...
Einführung in kubectl kubectl ist ein Befehlszeil...
Passwortmodus PDO::__construct(): Der Server hat ...
Frage: In einigen Browsern, wie zum Beispiel im K...
In diesem Artikel wird der spezifische Code von j...
<br />Hallo zusammen! Es ist mir eine Ehre, ...
Laden Sie MySQL herunter https://dev.mysql.com/do...
In diesem Artikel wird der Beispielcode einer CSS...
Führen Sie cmd mit Administratorrechten aus slmgr...
Einführung Als ich mehr über die Datenbanktheorie...
1. Manchmal verwenden wir ES Aufgrund begrenzter ...
Ich kann mich über die Befehlszeile ganz normal b...
Inhaltsverzeichnis Frage Reproduktion Implizite K...
Auf dem Server läuft ein Taskprozess. Wenn wir ih...