Heim Backend-Entwicklung PHP-Tutorial Behandeln von Problemen im Zusammenhang mit der Kompilierung von Nginx unter der Windows-Plattform

Behandeln von Problemen im Zusammenhang mit der Kompilierung von Nginx unter der Windows-Plattform

Aug 08, 2016 am 09:26 AM
lib nbsp nginx openssl

In diesem Artikel wird beschrieben, wie Sie Nginx unter Windows kompilieren. Weitere Informationen finden Sie in diesem Artikel Nginx auf der Win32-Plattform mit Visual C wurde ausführlich erklärt, es gibt jedoch immer viele Details im tatsächlichen Betriebsprozess, die hier aufgezeichnet werden.

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:

hg clone http://hg.nginx.org/nginx cd nginx hg co f582d662cc408eb7a132c21f4b298b71d0701abb

"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.

vi nginx/objs/Makefile

Oder ändern Sie direkt die Konfiguration des generierten Makefile

vi auto/lib/openssl/conf vi auto/lib/openssl/make

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

vi auto/cc/msvc #CFLAGS="$CFLAGS -WX"

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.

objs/lib/openssl-1.0.1e/include/openssl/ssl.h: objs/Makefile

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
auto/configure --with-cc=cl --builddir=objs --prefix= \ --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log --error-log-path=logs/error.log \ --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs/lib/pcre-8.32 \ --with-zlib=objs/lib/zlib-1.2.7 --with-openssl=objs/lib/openssl-1.0.1e \ --with-select_module --with-http_ssl_module --with-ipv6 \ --add-module=objs/lib/naxsi-core-0.48/naxsi_src
  • nmake -f objs/Makefile
  • 启动nginx
start nginx.exe -p "C:\nginx" nginx.exe -p "C:\nginx" -s reload nginx.exe -p "C:\nginx" -s quit

参考资料:
Windows下OpenSSL安装配置

本文由吴遥编写,转载请注明出处。
文章链接:http://www.wuyao721.com/nginx-building-windows.html

以上就介绍了windows平台下编译nginx相关问题处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

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 den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

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.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

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.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

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 überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

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.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

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

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

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]

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

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.

See all articles