在Windows中編譯Nginx原始碼 (筆記)

2021-06-28 23:36:25 字數 2610 閱讀 5717

nginx是乙個高效能的http和反向**伺服器。其是開源的,並且是跨平台的,通常nginx執行在linux平台下,也可執行於windows、freebsd等,本文主要講解在windows系統中編譯nginx原始碼。

在mingw32下使用gcc編譯nginx原始碼

1、  開啟mingw32並切換到當前**目錄

--prefix=」c:/nginx」是nginx的安裝目錄,注意一定要寫路徑中的斜槓,一定要是「/」

-d fd_setsize=4096是為了避免出現執行時的錯誤提示

-d __no_mingw_lfs是為了避免編譯時出現ssize_t、off_t型別錯誤

-d __watcomc__是為了避免編譯時出現nginx shmtx錯誤

由於是簡單示例,採用--without-http_rewrite_module、--without-http_gzip_module避免nginx依賴於其他庫

3、更改objs/makefile

去除objs/makefile中的-werror,忽略將警告當成錯誤提示。

在objs/makefile中查詢advapi32.lib、ws2_32.lib,並補全路徑,改為:"c:\program files\microsoft sdks\windows\v7.0a\lib\advapi32.lib" "c:\program files\microsoft sdks\windows\v7.0a\lib\ws2_32.lib"

4、make

5、make install

此時nginx便安裝到了c:/nginx目錄下。

在mingw32下使用vc編譯nginx原始碼

1、  開啟mingw32並切換到當前**目錄

2、  export path=$path:"c:\program files\microsoft visual studio 10.0\vc\bin":"c:\program files\microsoft visual studio 10.0\common7\ide":"c:\program files\microsoft sdks\windows\v7.0a\bin"

設定當前的環境變數,注意路徑中的斜槓,一定要使用「\」

開始配置,注意路徑中的斜槓,一定要使用「/」

4、更改objs/ ngx_auto_config.h

將第一行巨集定義中的引號轉義,改為類似如下的樣子:

5、更改objs/makefile

在objs/makefile中查詢kernel32.lib user32.lib advapi32.lib ws2_32.lib,並補全路徑,改為:"c:\program files\microsoft sdks\windows\v7.0a\lib\kernel32.lib" "c:\program files\microsoft sdks\windows\v7.0a\lib\user32.lib" "c:\program files\microsoft sdks\windows\v7.0a\lib\advapi32.lib" "c:\program files\microsoft sdks\windows\v7.0a\lib\ws2_32.lib"。並加入兩個額外的路徑,如:         "c:\program files\microsoft visual studio 10.0\vc\lib\libcmt.lib"      "c:\program files\microsoft visual studio 10.0\vc\lib\oldnames.lib"

6、nmake

7、nmake install

此時nginx便安裝到了c:/nginx目錄下。

如上預設編譯的都是release版本的nginx程式,如果需要編譯debug版,更改auto/cc/gcc、auto/cc/msvc中對應配置即可。

zlib庫在windows系統中的編譯

zlib是提供資料壓縮之用的函式庫,此函式庫為自由軟體,由jean loup gailly與mark adler所開發,zlib使用deflate演算法,最初是為libpng函式庫所寫的,後來普遍為許多軟體所使用。1.安裝mingw5.1.4 2.安裝msys 1.0.10和msysdtk 1.0....

在Windows下編譯OpenSSL

如何在windows下編譯openssl vs2005使用vc8的cl編譯器 1 安裝activeperl 初始化的時候,需要用到perl直譯器 2 使用vs2005下的visual studio 2005 command prompt進入控制台模式 這個模式會自動設定各種環境變數 3 解壓縮ope...

openssl在windows下面編譯

折騰了1天,終於在windows下面把openssl編譯成靜態庫,測試編譯執行通過了不容易哦 3 cmd開啟命令列,cd 到vs安裝目錄 c microsoft visual studio 10.0 vc 執行vcvarsall.bat檔案,設定編譯環境 4 cd 進入 d openssl 1.0....