


Behandeln von Problemen im Zusammenhang mit der Kompilierung von Nginx unter der Windows-Plattform
Inhalt [ausblenden]
-
1 FAQ
- 1.1 Holen Sie sich die angegebene Version
- 1.2 „stdint.h“: Keine solche Datei oder kein solches Verzeichnis
- 1.3 „openssl/ssl.h“: Keine solche Datei oder kein solches Verzeichnis
- 1.4 Datei kann nicht geöffnet werden „objs/lib/openssl-1.0.1e/lib/ssleay32.lib“
- 1.5 Fehler C2220: Warnung wird als Fehler behandelt – „Objekt“-Datei wurde nicht generiert
- 1.6 schwerwiegend Fehler C1010: Bei der Suche nach vorkompilierten Headern wurde ein unerwartetes Ende der Datei festgestellt. Haben Sie vergessen, „#include „ngx_config.h““ zur Quelle hinzuzufügen?
- 1.7 Jedes Mal vollständig kompilieren
- 2Zusammenfassung des Betriebsprozesses
Häufig gestellte Fragen
Die VS-Version, die ich verwende, ist VS2008, und ich bin darauf gestoßen die folgende Frage.
Holen Sie sich die angegebene Version
Manchmal benötigen wir nicht die neueste Version. Ich möchte beispielsweise die Version 1.20 herunterladen Zuerst habe ich hier nach der Versionsnummer 1.20 gesucht und bald festgestellt, dass sie f582d662cc408eb7a132c21f4b298b71d0701abb ist. Die folgende Ausführungssequenz kann die angegebene Version erhalten:
"stdint.h ”: Keine solche Datei oder kein solches Verzeichnis
Dieses Problem ist leicht zu lösen, laden Sie einfach die fehlende Header-Datei herunter. https://code.google.com/p/msinttypes/
Nach der Dekomprimierung platzieren Sie das Header-Dateiverzeichnis unter C:ProgrammeMicrosoft Visual Studio 9.0VCinclude (oder einem ähnlichen Verzeichnis).
"openssl/ssl.h": Keine solche Datei oder kein solches Verzeichnis
Führen Sie nmake -f objs/Makefile aus , kann dieses Problem auftreten. Wir sehen einen solchen Pfad (objs/lib/openssl-1.0.1e/openssl/include), aber er existiert tatsächlich nicht. Die Lösung besteht darin, „openssl-1.0.1e/openssl“ in „openssl-1.0.1e“ zu ändern.
Oder ändern Sie direkt die Konfiguration des generierten Makefile
Datei „objs/lib/openssl- kann nicht geöffnet werden“ 1.0.1e /lib/ssleay32.lib“
Ich weiß nicht, warum das Nginx-Projekt die OpenSSL-Bibliothek nicht generiert. Ich habe dieses Problem durch separates Kompilieren und Generieren von OpenSSL gelöst. Die Schritte sind wie folgt:
- Perl installieren (ich verwende ActivePerl)
- OpenSSL nach Laufwerk C extrahieren, cd C:openssl-1.0.1e
- Perl ausführen Konfigurieren Sie VC-WIN32
- Führen Sie cmd aus, ziehen Sie *“C:ProgrammeMicrosoft Visual Studio 9.0VCvcvarsall.BAT“* in cmd und führen Sie
- Führen Sie msdo_ms in cmd aus
- Führen Sie nmake aus in cmd -f msntdll.mak
Okay, legen Sie die manuell generierten libeay32.lib und ssleay32.lib in das Verzeichnis nginx/objs/lib/openssl-1.0.1e. Problem gelöst.
Fehler C2220: Warnung als Fehler behandelt – „Objekt“-Datei wurde nicht generiert
Werden CFLAGS -WX entfernt? Feld, dann das Makefile neu generieren und neu kompilieren
Schwerwiegender Fehler C1010: Unerwartetes Ende der Datei beim Suchen nach vorkompilierten Headern festgestellt. Haben Sie vergessen, „#include“ hinzuzufügen? "ngx_config.h""?
Bei der Entwicklung von Windows-Modulen treten Probleme auf. Die erste Codezeile in jeder Quelldatei muss hinzugefügt werden. #include "ngx_config.h"*, wenn Sie dies nicht tun Ich möchte dazu die Kompilierungsparameter *-Yungx_config.h
Kompilieren
vollständig entfernen Wenn Sie diese Codezeile nmake -f objs/Makefile ausführen, muss sie jedes Mal vollständig kompiliert werden, was Zeitverschwendung ist. Der Grund dafür ist folgender.
ssh. Die .h-Datei hängt von objs/Makefile* ab, aber wenn die Änderungszeit der ersteren immer früher ist als die der letzteren, wird der folgende Befehl immer ausgeführt string *objs/Makefile 🎜>
Zusammenfassung des Vorgangsprozesses- “C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat”
- “C:\MinGW\msys\1.0\msys.bat”
- cd /c/nginx
- 生成makefile
- nmake -f objs/Makefile
- 启动nginx
参考资料:
Windows下OpenSSL安装配置
本文由吴遥编写,转载请注明出处。
文章链接:http://www.wuyao721.com/nginx-building-windows.html
以上就介绍了windows平台下编译nginx相关问题处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.
