<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                轉載請注明出處:[http://blog.csdn.net/guodongxiaren/article/details/40950249](http://blog.csdn.net/guodongxiaren/article/details/40950249) 謝謝合作 ## 前言 不管是CentOS,或是Debian/Ubuntu,甚至是Windows。Nginx都有已編譯好的安裝包可用。通常只需要在終端上瀟灑地輸入`apt-get install ...`或是`yum install ..`就可以了。但是對于我這個`源碼編譯狂`來說,那樣一鍵安裝,顯然無法滿足我心理需求。 ## 獲取Nginx源碼 ### 下載 官網已經出現了1.7了。不過我還是選擇了目前穩定的1.6版本。打開你的終端,我們開始吧: ~~~ wget http://nginx.org/download/nginx-1.6.2.tar.gz ~~~ ### 解壓 ~~~ tar xvf nginx-1.6.2.tar.gz ~~~ ## 編譯 進入剛才解壓的目錄下。你會發現,沒有其他軟件的源碼中所包含的INSTALL文件(該文件通常用于指導如何正確編譯源碼),有一個README,來我們`cat`一下。!坑爹啊,里面只有一句話! ~~~ Documentation is available at http://nginx.org ~~~ 文檔在這個網站上。。。 不過不用管他了,看到目錄下綠色的configure文件在,那么我們直接上手吧。 ### configure ~~~ ./configure ~~~ 然后,你可能會收到一個錯誤,提示你缺少PCRE。不過,如果你之前已經在這臺主機上成功安裝了Apache的話,那么現在是不會報錯的,因為Apache也是需要PCRE的。(我的是新搞的華為云的主機,幾乎裸機) ### 安裝PCRE PCRE是什么呢?簡單說來,就是一個Perl的庫。那么我們接下來來編譯pcre的源碼。哈哈。 到官網去看,當前(截至2014/11/09)最新版本是8.36。 ~~~ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz ~~~ #### `-DHAVE_CONFIG_H` 接下來,同樣是用`tar xvf`解壓。解壓出一個pcre的目錄,我們`cd`進去。不由分說,直接`./configure`。 貌似沒出錯,接著`make`,貌似也沒出問題,繼續`make install`。咦,有錯誤! ~~~ libtool: compile: unrecognized option `-DHAVE_CONFIG_H' ~~~ 是我沒裝libtool么,`yum install`一下。不對啊,裝了啊。后來百度發現是缺少了g++編譯器。對哦,我現在是裸機。這個我就不自己編譯了(快跑題了),敲命令安裝: ~~~ #CentOS下面 yum install gcc-c++ #Ubuntu下面 apt-get install g++ ~~~ 你應該是`root`身份,我就不多說了。此時會默認安裝一些依賴軟件,比如autoconf。 #### `zlib` 然后我們再重新`./configure`一下吧,瓦擦嘞,有問題(裝完g++,configure都報錯了。。),提示缺少zlib。好吧,繼續百度,進官網。復制鏈接,然后繼續`wget`。 ~~~ wget http://zlib.net/zlib-1.2.8.tar.gz ~~~ 繼續`tar xvf`o(╯□╰)o解壓出一個目錄。我這里目錄名是zlib-1.2.8。請注意我所有wget的文件都在同一層目錄下面,解壓路徑也是同一層。 來我`ls -F`一下: ~~~ nginx-1.6.2/ pcre-8.36/ zlib-1.2.8/ nginx-1.6.2.tar.gz pcre-8.36.tar.gz zlib-1.2.8.tar.gz ~~~ 接著,我們再進入pcre的目錄下面,去configure。加上一個選項。 ~~~ ./configure --with-zlib=../zlib-1.2.8 ~~~ 注意選項后面應該是,你自己的zlib目錄的路徑。You Know? 此時,應該不報錯了,我們來一路高歌猛進,繼續敲兩個命令,——————>`make`——————>`make install`。 好了,沒錯誤安裝pcre完畢。深呼一口氣,恩,費力不少啊,不過終于安裝上了,好吧,教程結束。 咦?慢著,我們的教程不是教你安裝pcre的啊。我們是Nginx安裝教程啊。那好吧,繼續。 ### make 在pcre安裝完畢之后,再次進入nginx的目錄下面,去`./configure`應該不會報錯了。 輕輕敲下四個字母`make`。接著觀看滾屏。 ### make install 滾屏完畢,繼續敲`make install`。然后繼續看滾屏。。 ## 開啟Nginx 前文之中,我們已經安裝好了Nginx,現在我們去開啟它。因為剛才nginx源碼目錄下,我們在configure的時候,沒有使用選項`--prefix`(該選項用來指定nginx的安裝位置),所以它默認安裝到了/usr/local/nginx/目錄中。 我們可以`cd`進去,也可以不進去。下面開啟它: ~~~ /usr/local/nginx/sbin/nginx ~~~ 在安裝目錄下的sbin子目錄中有Nginx的可執行文件。不過,很不幸,我的機器上,又報錯了: ~~~ error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory ~~~ 提示缺少libpcre.so.1,但是我們剛才明明裝了pcre啊。原來是Nginx默認在/lib64/目錄下(我是64位機器,32位應該是搜索/lib/),搜索該庫文件。顯然,我們自己編譯的pcre,它的這個庫文件不在這個位置。來我們`find / -name 'libpcre.so.1'`一下,找找看: ~~~ /usr/local/lib/libpcre.so.1 ~~~ 好吧,在/usr/local/lib/下面。我們來建立以符號鏈接吧。 ~~~ ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1 ~~~ 然后,這次應該真得可以了。。。開啟nginx:`/usr/local/nginx/sbin/nginx`。沒報錯,那我們來檢測一下,看誰在監聽80端口。 ~~~ netstat -lpn|grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 28126/nginx ~~~ 好了,打完收工。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看