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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                --- ## 源碼編譯安裝 ### 編譯安裝的目的 * 針對硬件,發揮硬件最大性能 * 使在apache在服務器中添加補丁成為可能。 * 更好的整合程序,例如整合apache,php, mysql > 補充:apache的性能主要依靠CPU和內存,使用gcc編譯參數對其優化,性能提升并不明顯。 ### 編譯環境說明 * 空間需求 源碼70M,編譯后 20M * 編譯要求 apache源碼是由ANSIC語言編寫,需要ANSIC編譯器,因此可以使用gcc編譯器 * apr和apr-util工具包需要時1.2以上版本 * apache本身并不需要perl,但有些支持腳本是由perl編寫的 * APACI 自動配置樣式接口(Apache AutoConf-style Interface),它本身并不對源碼進行編譯,而是檢查編譯環境,指定或禁止apache模塊,設置安裝路徑,并創建make程序的描述文件MakeFile,方便make程序進行編譯 ### configure腳本和常見編譯參數 可以將configure理解為APACI,如果一切順利configure將會建立一系列MakeFile文件 #### 常見編譯參數 ``` --prefix apache 安裝目錄 --enable-module=so 使apahce以DSO方式加載模塊 --enable-mods-shared=all 以共享方式編譯全部模塊(不包括核心模塊) --enable-modules=all/most 以靜態方式編譯所有模塊 --with--mpm=worker 以worker方式運行 --enable-deflate 壓縮后傳輸 --enable-proxy-fcgi --enable-proxy fastcgi支持選項 --enable-rewrite 支持url重寫 --enable-cgid --enable-cgi –-enable-headers 這個默認是開啟的,提供允許對HTTP請求頭的控制 -–enable-expires 激活彧通過配置文件控制HTTP的“Expires:”和“Cache-Control:”頭內容,即對網站圖片、js、css等內容,提供客戶端瀏覽器緩存的設置。這個是apache調優的一個重要選項之一。 ``` ## 開始安裝 apr[官網下載][1]或者使用國內的[鏡像][5] ### 安裝apr和apr-util 方式1 apr和apr-util作為httpd編譯安裝的一部分 ``` tar -zxvf apr-1.4.6.tar.gz tar -zxvf apr-util-1.5.2.tar.gz cp -a apr-1.4.1 httpd-2.4.20/srclib/apr cp -a apr-util-1.4.1 httpd-2.4.20/srclib/apr-util ``` `./configure`時,后面添加`--with-included-apr`選項 * 注意 經過測試,以上apr版本不支持event 使用apr-1.5.2和apr-util-1.5.2可支持event --- ### 安裝apr和apr-util 方式2 #### apr和apr-util下載 版本:apr-1.4.6.tar.bz2 ``` tar xf apr-1.4.6.tar.bz2 ./configure --prefix=/usr/local/apr make make install ``` 版本:apr-util-1.4.1.tar.bz2 ``` tar xf apr-util-1.4.1.tar.bz2 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make make install ``` 此處編譯的apr不用輸出頭文件/庫文件,只為httpd使用。 --- ### 安裝httpd [apache官方下載站點][4] [apache存檔站點][3] **推薦** 2.4最新版[下載][2] #### 編譯環境 ``` yum install -y gcc gcc++ zlib zlib-devel openssl openssl-devel pcre pcre-devel ``` #### 下載源碼包 ``` wget http://archive.apache.org/dist/httpd/httpd-2.4.23.tar.bz2 wget http://archive.apache.org/dist/httpd/httpd-2.4.23.tar.bz2.md5 ``` #### 校驗md5 ``` md5sum -c httpd-2.4.23.tar.bz2.md5 httpd-2.4.23.tar.bz2: OK ``` ### MPM靜態和動態模塊說明 #### 構建MPM為靜態模塊 --with-mpm=NAME 在構建時選擇一種MPM,編譯到服務器中。如果要改變MPM,必須重新構建。編譯完成后,可以使用 ./httpd -l 來確定選擇的MPM。 #### 構建 MPM 為動態模塊 --enable-mpms-shared 在Unix或類似平臺中,MPM可以構建為動態模塊,與其它動態模塊一樣在運行時加載。在執行configure腳本時,使用--enable-mpms-shared選項即可啟用此特性。當給出的參數為all時,所有此平臺支持的MPM模塊都會被安裝。默認MPM,通過--with-mpm選項來指定。編輯LoadModule指令內容可以選擇不同的MPM。 #### 編譯 ``` ./configure \ --prefix=/usr/local/apache \ --with-mpm=prefork \ --enable-rewrite \ --enable-deflate \ --enable-so \ --enable-ssl \ --enable-cgid \ --enable-cgi \ --enable-modules=most \ --enable-mods-shared=most \ --enable-mpms-shared=all \ --with-included-apr \ --enable-headers ``` >[info] 如果啟用fcgi,需要這兩個選項 ~~~ --enable-proxy --enable-proxy-fcgi ~~~ 如果,apr和apr-util是單獨安裝的,需指定以下選項,不使用`--with-included-apr`選項 ``` --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util ``` 一切正常的話就可以執行make ``` make && make install ``` 如果有多顆CPU,則可以使用多顆CPU來加快編譯速度 ~~~ make -j2 ~~~ ## 編譯之后 ### config.nice 這個文件是一個shell腳本,包含了最后一次成功運行configure命令的命令行腳本;如果再次編譯,需要在原有的基礎上增加模塊,可以這樣操作 ~~~ ./config.nice --enable-cache ~~~ ### config.layout 為了更好控制編譯過程中的文件位置和后繼安裝中的文件位置,默認使用的是Apache布局; 在編譯時如果想使用,則使用`--enable-layout=Layout_ID`選項 ### 清除調試符號 在GCC的默認情況下,大多數程序和庫都是帶有調試符號編譯的,這些調試符號在調試程序時使用,它不但能給出內存地址,還能給出海署名。但對于生產系統的服務器是不必要的,因為調試符號的存在,apache會占用更多的內存。 #### 清除調試符號 ~~~ strip /usr/local/apache/bin/httpd ~~~ 清除后,從1.8M降到500K > 注意 清除調試符號之后,不能在使用調試工具得到調試信息了。 ## 可能出現的問題 **報錯** `util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)` 網上說版本過低 下載pcre源碼編譯安裝(編譯選項默認)[官網][6] [下載][7] [pcre編譯方法文檔][8] 編譯時,添加如下選項`--with-pcre=/usr/local/bin/pcre-config`(pcre編譯安裝默認生成的文件路徑) **注意** 多次編譯時,注意使用`make distclean`清除編譯緩存 [1]:http://apr.apache.org/ [2]:http://archive.apache.org/dist/httpd/httpd-2.4.23.tar.bz2 [3]:http://archive.apache.org/dist/httpd/ [4]:http://apache.org/dist/httpd/ [5]:http://mirrors.tuna.tsinghua.edu.cn/apache/apr/ [6]:http://www.pcre.org/ [7]:http://nchc.dl.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.bz2 [8]:http://www.cnblogs.com/renhao/archive/2011/08/17/2143264.html
                  <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>

                              哎呀哎呀视频在线观看