原始碼編譯 apache2.4
阿新 • • 發佈:2020-06-28
ApacheHTTPServer是Apache軟體基金會的一個開放原始碼的網頁伺服器軟體,可以在大多數電腦作業系統中執行。由於其跨平臺和安全性,被廣泛使用,是最流行的Web伺服器軟體之一。它快速、可靠並且可通過簡單的API擴充套件,將Perl/Python等直譯器編譯到伺服器中。 [root@Jaking12~]#yuminstall-ygccpcrepcre-develexpat-develbzip2openssl-develzlib*libtool [root@Jaking12src]#rz [root@Jaking12src]#tarxvfapr-1.7.0.tar.gz [root@Jaking12src]#ls apr-1.7.0apr-1.7.0.tar.gz [root@Jaking12src]#cdapr-1.7.0 [[email protected]]#./configure--prefix=/usr/local/apr [[email protected]]#make [[email protected]]#makeinstall [[email protected]]#cd.. [root@Jaking12src]#rz rzwaitingtoreceive. zmodemtrl+Cȡ 100%541KB541KB/s00:00:010Errors.. [root@Jaking12src]#ls apr-1.7.0apr-1.7.0.tar.gzapr-util-1.6.1.tar.gz [root@Jaking12src]#tarxfapr-util-1.6.1.tar.gz [root@Jaking12src]#ls apr-1.7.0apr-1.7.0.tar.gzapr-util-1.6.1apr-util-1.6.1.tar.gz [root@Jaking12src]#cdapr-util-1.6.1 [[email protected]]#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr [[email protected]]#make [[email protected]]#makeinstall
更多的選項可以通過./configure--help瞭解 官方的編譯選項文件http://httpd.apache.org/docs/current/programs/configure.html --prefix=/usr/local/apache --sysconfdir=/etc/httpd//指定配置檔案在安裝在哪個路徑。如不指定,配置檔案就在程式安裝的目錄;如指定/etc目錄 --with-apr=/usr/local/apr//指定依賴的apr路徑。注意必須指明路徑,否則編譯時會自動去找/usr下的apr,而不是編譯的高版本apr,下同 --with-apr-util=/usr/local/apr-util --with-mpm=MPM//指定預設的[prefork|worker|event] 如3種MPM模組都編譯了,則通過此項指定預設使用哪種 --with-pcre//依賴pcre庫用於解決正則表示式問題。##安裝pcre-devel(相容Perl的正則表示式庫) --enable-so//開啟so模組,啟用動態裝載模組功能 --enable-ssl//啟用ssl功能。注意要先安裝,https使用 --enable-cgi//啟用cgi功能,為非執行緒方式工作的mpm使用 --enable-cgid//以執行緒工作(worker/event)的mpm使用 --enable-rewrite//支援URL重寫 --enable-zlib//通用壓縮機制 --enable-module=most//[all|most|……] 指定啟用哪些模組。可指定具體的模組名,也可使用all表示啟用所有模組,most表示啟用大多數常用模組。 一般使用most即可 --enable-mpms-shared=all//啟用MPM支援的模式,啟用哪種mpm(prefork,worker,event),使用worker或event時要另外一種方式編譯php(編譯時使用了–enable-maintainer-zts選項) --enable-deflate//傳輸壓縮機制,節約頻寬提供對內容的壓縮傳輸編碼支援一般是html、js、css等內容的站點。使用此引數會大大 提高傳輸速度提升訪問者訪問的體驗。在生產環境中這是apache調優的一個重要選項之一
[[email protected]]#cd.. [root@Jaking12src]#rz rzwaitingtoreceive. zmodemtrl+Cȡ 100%8983KB8983KB/s00:00:010Errors [root@Jaking12src]#ls apr-1.7.0apr-1.7.0.tar.gzapr-util-1.6.1apr-util-1.6.1.tar.gzhttpd-2.4.39.tar.gz [root@Jaking12src]#tarxfhttpd-2.4.39.tar.gz [root@Jaking12src]#ls apr-1.7.0apr-util-1.6.1httpd-2.4.39 apr-1.7.0.tar.gzapr-util-1.6.1.tar.gzhttpd-2.4.39.tar.gz [root@Jaking12src]#cdhttpd-2.4.39 [[email protected]]#./configure--prefix=/usr/local/apache24--enable-so--enable-ssl--enable-cgi--enable-rewrite--with-zlib--with-pcre--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--enable-modules=most--enable-mods-shared=most--enable-mpms-shared=all--with-mpm=event [[email protected]]#make [[email protected]]#makeinstall 所有元件/usr/local/apache24 主配置檔案/usr/local/apache24/conf 啟動指令碼/usr/local/apache24/bin/apachectl [[email protected]]#ls/usr/local/apache24/ binbuildcgi-binconferrorhtdocsiconsincludelogsmanmanualmodules [[email protected]]#ls/usr/local/apache24/conf/ extrahttpd.confmagicmime.typesoriginal [[email protected]]#ls/usr/local/apache24/bin/ abapxsdbmmanageenvvars-stdhtcachecleanhtdigesthttpdlogresolve apachectlcheckgidenvvarsfcgistarterhtdbmhtpasswdhttxt2dbmrotatelogs [[email protected]]#ll/usr/local/apache24/bin/apachectl -rwxr-xr-x1rootdip3440Mar1016:45/usr/local/apache24/bin/apachectl
啟動 apache2.4
[[email protected]]#/usr/local/apache24/bin/apachectl AH00558:httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,usingfe80::250:56ff:fe2c:fe97%ens33.Setthe'ServerName'directivegloballytosuppressthismessage 這是一個提示,問題不大(⊙o⊙)…