Ich erstelle derzeit Nginx, kann aber nicht über den Domänennamen darauf zugreifen. Die Serverkonfiguration in der Nginx-Konfigurationsdatei nginx.conf lautet wie folgt: Server { hören Sie 80; Servername hehe.weige.com; #Zeichensatz koi8-r; #access_log Protokolle/Host.access.log Haupt; Standort / { Wurzel-HTML-hehe; Index Index.html Index.htm; } } Führen Sie nach der Konfiguration den Befehl ./nginx -s reload im sbin-Verzeichnis aus, um die Konfigurationsdatei neu zu laden. Nach dem Laden habe ich hehe.weige.com in die Adressleiste des Browsers eingegeben und konnte nicht darauf zugreifen. Dieses Problem bereitete mir fast den ganzen Tag Sorgen. Ich habe viele tolle Blogs durchsucht und kein Problem mit der Konfiguration gefunden. Später habe ich es schließlich selbst herausgefunden. Hier sind zwei sehr grundlegende und einfache Fragen 1 Derselbe Domänenname kann nur einer IP entsprechen, und dieselbe IP kann mehreren Domänennamen entsprechen 2 Wenn Sie eine Website besuchen, durchsucht das System zuerst Ihre lokale Hostdatei (C:\windows\system32\drivers\etc). Wenn der Domänenname vorhanden ist, wird auf die dem Domänennamen entsprechende IP-Adresse zugegriffen. Wenn es das nicht gibt, suche ich im Internet danach. Konzentrieren Sie sich auf den zweiten Punkt. In meiner lokalen Hosts-Datei ist der Domänenname www.weige.com überhaupt nicht konfiguriert, daher habe ich im Internet danach gesucht. Dieser Domänenname wurde von mir angepasst und ist mit Sicherheit nicht im Internet zu finden. Der Zugriff ist also fehlgeschlagen Es ergab sich die im ersten Bild dargestellte Situation. Keiner der großen Blogger hat dieses Thema hervorgehoben. Haben sie es übersehen oder sind meine Grundkenntnisse zu dürftig? ? ? ? Warum! Keine Beschwerden mehr. Nach der Konfiguration der Hosts wird die folgende Abbildung angezeigt Starten Sie dann den Computer neu (ich weiß nicht, ob es eine Möglichkeit gibt, dies zu tun, ohne den Computer neu zu starten. Wenn die Leser eine Möglichkeit kennen, teilen Sie sie uns bitte mit. Danke!) Geben Sie hehe.weige.com erneut in den Browser ein und der Zugriff ist erfolgreich. Zusatzwissen: Nginx gibt den Domänennamen (bzw. die Subdomäne) und die Website-Bindung an Ursache des Problems Der Blogger hat kürzlich eine andere Website auf CentOS bereitgestellt, wollte aber nicht über die Portnummer darauf zugreifen, da die Portnummer der SEO-Optimierung nicht förderlich ist und der Benutzerzugriff umständlich ist (ist es nicht der Zweck der Verwendung von Domänennamen, den Benutzerzugriff zu erleichtern? Widerspricht die Einführung von Portnummern nicht dem Zweck der Verwendung von Domänennamen?), also wollte er zwei Websites gleichzeitig auf Port 80 von CentOS ausführen. Nginx gibt die Website unter dem entsprechenden Stammverzeichnis über den angeforderten Domänennamen zurück, wodurch der Zweck erreicht wird, Port 80 zu multiplexen und mehrere Websites gleichzeitig auszuführen. Implementierungsschritte Um Ihnen die Überprüfung des Pfads zu erleichtern, wird in diesem Artikel speziell der Befehl pwd verwendet, um den Pfad des aktuellen Schritts des Bloggers auszudrucken, wenn der Pfad erforderlich ist, damit Sie ihn überprüfen können. Überprüfen Sie den Pfad der Nginx-Konfigurationsdatei (wichtig) Hinweis: Dieser Schritt ist sehr wichtig. Wenn Sie die falsche Nginx-Konfigurationsdatei ändern, sind alle Änderungen ungültig. Möglicherweise können Sie den Grund für die Ungültigkeit der Änderung auch nach mehrstündiger Suche nicht herausfinden. Befehle verwenden
Lassen Sie uns einige Konfigurationsinformationen von nginx wie folgt überprüfen (Ihr Inhalt kann sich von dem des Bloggers unterscheiden, was jedoch keine Auswirkungen hat): Nginx-Version: nginx/1.12.2 erstellt mit gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) erstellt mit OpenSSL 1.0.2k-fips 26. Januar 2017 TLS SNI-Unterstützung aktiviert configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' Dabei muss lediglich auf den Eintrag --conf-path=/etc/nginx/nginx.conf geachtet werden, der die vom aktuellen nginx-Programm verwendete Standardkonfigurationsdatei angibt. Erstellen einer neuen Site-Konfigurationsdatei Wechseln Sie gemäß dem obigen Konfigurationsdateipfad zuerst das Verzeichnis zum nginx-Konfigurationspfad:
Erstellen Sie dann eine neue Site-Konfigurationsdatei. Es wird empfohlen, sie im vhost-Verzeichnis unter dem nginx-Konfigurationsverzeichnis zu platzieren. Wenn Sie dieses Verzeichnis derzeit nicht haben, können Sie ein neues erstellen: $ Passwort /etc/nginx $ sudo mkdir vhost $ ls conf.d fastcgi_params mime.types scgi_params vhost default.d fastcgi_params.default mime.types.default scgi_params.default win-utf fastcgi.conf koi-utf nginx.conf uwsgi_params fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default Hinweis: /etc ist ein Systemverzeichnis. Normale Benutzer haben keine Änderungsberechtigungen. Sie müssen sudo mit Administratorberechtigungen verwenden, um Änderungen in diesem Verzeichnis vorzunehmen, z. B. Dateien erstellen und ändern, Ordner erstellen usw. Rufen Sie das soeben erstellte vhost-Verzeichnis auf und erstellen Sie eine neue Konfigurationsdatei, z. B. mysite.conf. Der Dateiname der Konfigurationsdatei ist beliebig. Am besten verwenden Sie den Namen Ihrer Website zur einfachen Identifizierung, er muss jedoch die Endung .conf haben. $ Passwort /etc/nginx $ cd vhost/ $ Passwort /etc/nginx/vhost $ sudo touch meinesite.conf $ ls meinesite.conf trans.conf Unter ihnen erstellt der Befehl touch eine Konfigurationsdatei mit dem Namen mysite.conf (leere Datei). Dabei handelt es sich um die Konfigurationsdatei, die in diesem Artikel vorgestellt wird. Die andere ist die Website, die der Blogger betreibt, also müssen Sie sich darüber keine Gedanken machen. Informationen zur Website-Konfigurationsdatei ändern In diesem Artikel erstellen wir eine Website namens mysite, mit dem Stammverzeichnis der Website /home/www/mysite und dem Domänennamen mysite.jinhangdev.cn. Öffnen Sie mysite.conf mit einem beliebigen Texteditor, geben Sie den folgenden Inhalt ein und speichern Sie ihn (beachten Sie, dass Administratorrechte erforderlich sind): Server { listen 80; # Der Port der Website ist normalerweise 80, was mit anderen Websites verwendet werden kann server_name mysite.jinhangdev.cn; # Der zu bindende Domänenname (oder Subdomäne) root /home/www/mysite; # Das Stammverzeichnis der Website location / { # Mach dir darüber keine Gedanken} } Der obige Inhalt ist der Inhalt eines Servers. Wenn wir unten über die Konfiguration von nginx.conf sprechen, werden wir den Unterschied zwischen dem Schreiben einer Konfigurationszeile im Server und dem Schreiben außerhalb des Servers unterscheiden. $ Passwort /etc/nginx/vhost $ ls meinesite.conf trans.conf $ sudo vim meinesite.conf $ cat meinesite.conf Server { hören Sie 80; Servername mysite.jinhangdev.cn; root /home/www/meinesite; Standort /{ } } Wir haben oben eine neue Website erstellt. Die Website verwendet Port 80 des Servers, der gebundene Domänenname lautet mysite.jinhangdev.cn und das Stammverzeichnis der Website lautet /home/www/mysite. Ändern Sie die Nginx-Konfigurationsdatei Nachfolgend sehen Sie die Konfiguration der Schlüsseldatei nginx.conf. Es wird empfohlen, sie vor dem Ändern zu sichern, um eine gute Angewohnheit zu entwickeln: $ Passwort /etc/nginx $ sudo cp nginx.conf nginx.conf.bak Nachdem Sie die ursprüngliche Konfiguration in nginx.conf.bak gespeichert haben, fahren Sie mit den folgenden Vorgängen fort. Wenn Sie später feststellen, dass die Änderung falsch ist, können Sie nginx.conf.bak zur Verwendung wieder in nginx.conf umbenennen. Öffnen Sie nginx.conf mit einem Texteditor als Superuser:
und bearbeiten Sie es. Struktur der Nginx-Konfigurationsdatei Hier stellen wir nur einige Strukturen vor, die mit der Konfiguration der Domänennamenbindung zusammenhängen, nämlich den http-Abschnitt: http { (Verschiedene Konfigurationen) } Die hier eingestellten Konfigurationen sind globale Konfigurationen für http. Wenn Sie eine Website separat konfigurieren möchten, müssen Sie diese für jeden Server separat einstellen: http { (Die Konfiguration hier ist der globale Konfigurationsparameter) Server { (Die Konfiguration hier sind die Konfigurationsparameter dieses Servers) } Server { (Die Konfiguration hier sind die Konfigurationsparameter dieses Servers) } (Die Konfiguration hier ist der globale Konfigurationsparameter) } Wir empfehlen jedoch nicht, alle Server in nginx.conf zu erweitern, daher verwenden wir eine Include-Anweisung, um auf die Konfiguration aller Websites unter dem virtuellen Host zu verweisen. Hinweis: Der Include-Befehl führt lediglich einen Textersatz durch. Daher schreiben wir einen Satz an das Ende des http-Abschnitts von nginx.conf: http { (Mehrere vorherige Konfigurationen) /etc/nginx/vhost/*.conf einschließen; } Auf diese Weise werden alle .conf-Dateien unter vhost durch Textersetzung in nginx.conf eingeführt. Starten Sie den Nginx-Dienst neu. Verwenden Sie den Befehl:
Starten Sie den Nginx-Dienst neu. Problem: Fehler beim Neustart des Dienstes Zu diesem Zeitpunkt können Sie den folgenden Befehl verwenden:
Zum Anzeigen von Fehlerinformationen und Fehlerprotokollen. Nach der Eingabe dieses Befehls wird das Protokoll nicht sofort angezeigt. Es wird erst nach einigen Sekunden angezeigt. Mit der Option -l kann jedes Protokoll vollständig auf dem Bildschirm angezeigt werden. Andernfalls wird, wenn ein Protokoll zu lang ist, der Text in der Mitte durch ... ersetzt. Wenn ein Problem auftritt, wird in 90 % der Fälle im Protokoll angezeigt, dass beim Laden von nginx.conf ein Fehler aufgetreten ist. Der Grund hierfür ist wahrscheinlich eine Fehlkonfiguration in nginx.conf oder mysite.conf. Besuchen Sie die neue Website Nachdem Sie die DNS-Auflösung für den neuen sekundären Domänennamen hinzugefügt haben, besuchen Sie mysite.jinhangdev.cn im Browser. Normalerweise wird ein 404-Fehler „Nicht gefunden“ gemeldet. Dies liegt daran, dass das Stammverzeichnis dieser neuen Website in diesem Artikel bisher noch nicht erstellt wurde. Der 404-Fehler zeigt an, dass die vorherige Konfiguration korrekt ist. Der nächste Schritt besteht also darin, eine einfache Webseite zu erstellen und auszuführen. Erstellen Sie ein neues Stammverzeichnis für die Website (oder verwenden Sie ein vorhandenes). Blogger sind es gewohnt, die Dateien der Website unter /home/www zu platzieren und dem Verzeichnis die Berechtigung 0777 zu erteilen, um 403-Fehler zu vermeiden, obwohl dies nicht sehr sicher ist. Angesichts des begrenzten Wissens des Bloggers hoffe ich, dass Leser mit Sicherheitsbedürfnissen den Artikeln anderer Sicherheitsexperten Aufmerksamkeit schenken. Der Blogger entschuldigt sich zutiefst. Erstellen Sie ein Verzeichnis mysite unter /home/www (das Verzeichnis /home/www wurde vom Blogger erstellt und mit dem Befehl chmod werden ihm die Berechtigungen 0777 erteilt): $ cd /home/www/ $ mkdir meine Site $ ls meinesite trans Wechseln Sie in das mysite-Verzeichnis und erstellen Sie einfach eine Webseite: $ Passwort /home/www $ cd meineSite/ $ echo hallo! > index.html $ ls Hauptseite $ Katze index.html Hallo! Besuchen Sie die Site jetzt erneut im Browser und Sie sehen die Zeile „Hallo!“, was bedeutet, dass die neue Site erfolgreich erstellt wurde. Abschluss Oben wird der Vorgang zum Erstellen einer Domänennamenbindung für eine neue Website beschrieben. Wenn Sie etwas nicht verstehen oder der Blogger einen Fehler gemacht hat, weisen Sie ihn bitte im Kommentarbereich darauf hin. Vielen Dank! Ich hoffe, dies kann Ihnen als Referenz dienen und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
<<: Detaillierte Beispiele zur Ajax-Verwendung in js und jQuery
>>: Zusammenfassung der Grundkenntnisse und Vorgänge der MySQL-Datenbank
Inhaltsverzeichnis 1. Software- und Systemabbild ...
Im Linux-System gibt es einen Dateityp namens Lin...
*** Beispiel für das Festlegen des Stils eines Hy...
1 Rufen Sie die Alibaba Cloud-Konsole auf, suchen...
<br />Worte sind das unvermeidliche Produkt ...
Wie installiere ich MySQL 5.7 in Ubuntu 16.04? In...
In diesem Artikelbeispiel wird der spezifische Ja...
In diesem Artikel wird der spezifische JavaScript...
In Webprojekten nutzen wir häufig die Zeitleisten...
1. Fügen Sie den folgenden Code zu http{} in ngin...
Die GROUP BY-Anweisung wird in Verbindung mit der...
Ausgehend von diesem Artikel dient eine neue Arti...
Die Befehlszeile mysqld –skip-grant-tables kann i...
In diesem Artikel finden Sie den spezifischen Cod...
Als häufig verwendete Datenbank erfordert MySQL v...