• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            Nginx源碼學習之編譯、構(gòu)建與安裝(cygwin環(huán)境)

            Nginx介紹:

            Nginx ("engine x") 是一個高性能的 HTTP 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發(fā)的,它已經(jīng)在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發(fā)布。盡管還是測試版,但是,Nginx 已經(jīng)因為它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名了。

            1.cygwin
            環(huán)境安裝
               http://www.cygwin.com/下載setup.exe安裝程序,具體安裝過程請到google找吧。這里需要注意的是:一定要安裝上opensslpcrezlib這三個包,因為nginx部分源碼需要用到這三個庫。

            2.nginx
            編譯與構(gòu)建
               http://nginx.net/下載源代碼包(最新穩(wěn)定版:nginx-0.5.35,測試版:nginx-0.6.25),假設下載下來的源代碼包存放在C盤根目錄下(例如全路徑名為c:\nginx-0.6.25.tar.gz)
               打開cygwin環(huán)境,cdC盤根目錄(命令:cd /cygdrive/c),解壓源代碼包(首先執(zhí)行命令gzip -d nginx-0.6.25.tar.gz得到nginx-0.6.25.tar文件,然后再執(zhí)行命令tar xvf nginx-0.6.25.tar),這時應該看到C盤下有一個新目錄nginx-0.6.25cd進去,然后執(zhí)行configure(命令: /cygdrive/c/nginx-0.6.25/configure --prefix=/cygdrive/c/nginx),得到一Makefile文件與objs子目錄下的多個文件;再執(zhí)行make命令,這時cd進 去objs子目錄,然后ls一下,看到有nginx.exe文件,這就是編譯構(gòu)建后生成的nginx程序,接下來就是安裝了。

            3.nginx
            安裝
               cygwin環(huán)境下cd/cygdrive/c/nginx-0.6.25目錄,執(zhí)行make install命令,這樣就可以把nginx安裝到c:\nginx目錄,這個目錄是剛才執(zhí)行configure時指定的(--prefix= /cygdirve/c/nginx)

            4.nginx
            運行
               cygwin環(huán)境下cd/cygdrive/c/nginx/sbin目錄,運行nginx.exe(命令:/cygdrive/c/nginx/sbin/nginx.exe),不出意外的話,應該會出現(xiàn)一條錯誤信息:

            2008/01/12 16:34:56 [emerg] 2496#0: the maximum number of files supported by select() is 64

            ,這表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值小,那么有什么辦法解決這個問題呢?

            第一:把ngx_select_module事件處理模塊去掉,通過在執(zhí)行configure時指定參數(shù)—without-select_module

            第二:修改nginx的配置文件(c:\nginx\conf\nginx.conf),把這個文件第13行的1024改為64(worker_connections指令的值)

            第三:在執(zhí)行configure時指定額外的編譯選項(--with-cc-opt=-D FD_SETSIZE=2048),這同樣也可以解決上面的問題。

            后記:

            利用上面方法生成的nginx程序,需要依賴cygwin環(huán)境才能運行,那么有什么方法可以不用cygwin環(huán)境也能讓nginxWindows下獨立運行呢?當前我想到的有兩種方法:

            1種:

            首先改變執(zhí)行configure時指定的—prefix=/cygdrive/c/nginx參數(shù)為—prefix=.,同時還加上—sbin-path=nginx這個參數(shù),也就是make install時把nginx安裝到c:\nginx-0.6.25\目錄下,nginx運行時從當前目錄的conf子目錄讀取配置、寫日志到logs子目錄。接下來執(zhí)行configuremakemake install

            然后把nginx運行時所需要用到的DLL找出來,我發(fā)現(xiàn)有這幾個:cygcrypt-0.dllcygpcre-0.dllcygwin1.dllcygz.dll(這些文件都在cygwin安裝目錄的bin子目錄下);如果啟用ssl的話,應該還需要cygssl-0.9.8.dllcygcrypto-0.9.8.dll,這個我沒有實踐過,大家可以試試。接下來把cygcrypt-0.dllcygpcre-0.dllcygwin1.dllcygz.dll拷貝到c:\nginx-0.6.25下,同時在該目錄下創(chuàng)建logs子目錄。

            最后就可以直接雙擊nginx.exe來運行nginx了。這時打開瀏覽器,輸入地址:http://127.0.0.1/,如果能看到有“Welcome to nginx!”顯示出來就表示nginx已經(jīng)在運行,如果沒有的話就打開logs子目錄下的error.log文件,看看到底發(fā)生了什么錯誤。

            2種:

                編譯時指定-mno-cygwin選項,這可以生成不需要其它DLLnginx.exe文件,不過我還沒試成功,具體原因也還沒找到,如果你試成功了要告訴我一聲喲!

            這兩種方法都有一個缺點:雖然nginx已經(jīng)能獨立運行了,但要關閉它,還需要打開cygwin環(huán)境,然后ps找到nginx主進程的進程IDkill掉它;當然也可以用任務管理器強制關閉。

                不過據(jù)我了解在cygwin環(huán)境下可以把一個程序編譯成Windows服務的,具體怎么做的話要再找找咯!

             

            posted on 2009-01-02 23:54 肥仔 閱讀(1051) 評論(0)  編輯 收藏 引用 所屬分類: 網(wǎng)絡編程

            99精品国产在热久久无毒不卡 | 99久久综合国产精品二区| 久久九九精品99国产精品| 国产V亚洲V天堂无码久久久| yellow中文字幕久久网| 亚洲精品国产美女久久久| 2021久久精品国产99国产精品| 久久精品国产亚洲5555| 2022年国产精品久久久久| 久久国产亚洲精品| 欧洲国产伦久久久久久久| 久久精品www| 久久久久久久尹人综合网亚洲 | 日本五月天婷久久网站| 亚洲国产精品无码久久青草| 久久久国产亚洲精品| A级毛片无码久久精品免费| 久久天天躁狠狠躁夜夜avapp| 模特私拍国产精品久久| 久久久精品国产免大香伊| 精产国品久久一二三产区区别| 亚洲一级Av无码毛片久久精品| 久久久高清免费视频| 亚洲精品无码久久久久去q| 亚洲精品无码久久一线| 亚洲国产精品综合久久一线 | 国产综合久久久久久鬼色| 99热精品久久只有精品| 国产精品欧美久久久久无广告 | 日本亚洲色大成网站WWW久久| 久久国产精品一区| 国产91久久精品一区二区| 伊人 久久 精品| 色综合久久夜色精品国产| 热久久这里只有精品| 国产精品99久久免费观看| 久久久久久免费视频| 国产亚洲精久久久久久无码AV| 久久精品aⅴ无码中文字字幕重口| 手机看片久久高清国产日韩| 久久精品国产91久久综合麻豆自制 |