導航:首頁 > 源碼編譯 > 源碼安裝apache

源碼安裝apache

發布時間:2022-01-31 10:56:56

『壹』 編譯安裝apache 怎麼關閉 gzip

先來了解一下GZIP ,gzip是GNU zip的縮寫,它是一個GNU自由軟體的文件壓縮程序,也經常用來表示gzip這種文件格式。軟體的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是1.2.4。
gzip可以級大的加速網站.有時壓縮比率高到80%,近來測試了一下,最少都有40%以上,還是相當不錯的.在Apache2之後的版本,模塊名不叫gzip,而叫mod_deflate
1、Apache啟用gzip
如果要開啟gzip的話,一定要打開下面二個模塊.
LoadMole headers_mole moles/mod_headers.so
LoadMole deflate_mole moles/mod_deflate.so
設置壓縮比率,取值范圍在 1(最低) 到 9(最高)之間,不建議設置太高,雖然有很高的壓縮率,但是佔用更多的CPU資源.
DeflateCompressionLevel 3
AddOutputFilter DEFLATE html xml php js css
<Location />
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4/.0[678] no-gzip
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI //.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary #對代理的設置
</Location>

測試數據對css
Original Size: 44 KB
Gzipped Size: 10 KB
Data Savings: 77.27%
測試數據js
Original Size: 6 KB
Gzipped Size: 2 KB
Data Savings: 66.67%
測試數據php
Original Size: 62 KB
Gzipped Size: 15 KB
Data Savings: 75.81%
上面只是隨機拿的幾個數據,看的出來,使用了gzip壓縮後文件小多了.
另外講一下,有關squid對gzip的處理
在squid中,對同一個URL只保留一份緩存。對於如果不同browser(是否支持壓縮)如果頻繁交替訪問,例如:對某個cache住的目標,一個 http/1.0請求可能會導致squid強制更新其緩存。但接下來的另一個http/1.1請求又會導致squid再次更新緩存。這樣那squid緩存 數據就要頻繁更新,這就極大的降低了cache命中率。
不過還好,現實環境中不支持壓縮的browser畢竟是很少的情況,所以對於緩存命中率的降低很有限.
這個神通廣大的模塊就是mod_gzip. 它通過用和gzip一樣的壓縮演算法對apache發出的頁面進行壓縮,可能的話可以把頁面壓縮成為原來大小的十份之一。哪,如果10K的頁面只要傳1K這 不就是提速10倍嘛。當然一般網頁只可以達到3-6倍。那也很不錯。對吧。連google這樣一個大的網站都採用這個技術。你還不快跟上?
這樣一個好東東,來來來,我告訴你如何安裝:分3步,1、下載,2、修改配置,3、測試。

安裝, 配置
把mod_gzip放到你的apache的源代碼目錄下,新建一個mod_gzip目錄如果需要補丁(針對1.3.17.la版) 還需運行:
patch mod_gizp.c
按你需要,在配置中選擇動態DSO或靜態編譯進apache系統。如何處理在README中講得很清楚,如-add-mole=mod_gzip.c, make,make install等等。這里不多講。
把下列配置加入httpd.conf尾部。
# MOD_GZIP configuration
mod_gzip_on Yes
mod_gzip_minimum_file_size 1002
mod_gzip_maximum_file_size 0
mod_gzip_maximum_inmem_size 60000
mod_gzip_item_include mime "application/x-httpd-php"
mod_gzip_item_include mime text/*
mod_gzip_item_include mime "httpd/unix-directory"
mod_gzip_dechunk Yes
mod_gzip_temp_dir "/tmp"
mod_gzip_keep_workfiles No
mod_gzip_item_include file ".php3$"
mod_gzip_item_include file ".txt$"
mod_gzip_item_include file ".html$"
mod_gzip_item_exclude file ".css$"
mod_gzip_item_exclude file ".js$"
在保存修改後運行
…/bin/apachectl configtest確保配置修改無誤。
然後用 apachectl restart 指令重起服務。
修改,測試
在宣布做好了之前在測試一下是優秀程序員的習慣。為了盡量不影響你的用戶的瀏覽,我們可以用把新的apache驅動在8080埠上或者用指令控制mod_gzip起作用的目錄,而不是一下子全用mod_gzip.
用法如下:
MOD_GZIP configuration
沒有問題後你就可以讓你的用戶很開心的發現』XX網站現在好快哦。』
Mod_gzip真的很神奇,100K的HTML大 文檔只要12K就可以傳到用戶端了。越先採用這個技術你的用戶對你的網站的高速度印象就越深。不過有所得必有所失,由於解壓是在客戶端進行的,效果和用戶 的瀏覽器有一定關系。
2、IIS啟用gzip
現代的瀏覽器IE6和Firefox都支持客戶端Gzip,也就是說,在伺服器上的網頁,傳輸之前,先使用Gzip壓縮再傳輸給客戶端,客戶端接收之後由瀏覽器解壓顯示,這樣雖然稍微佔用了一些伺服器和客戶端的CPU,但是換來的是更高的帶寬利用率。對於純文本來講,壓縮率是相當可觀的。如果每個用戶節約50%的帶寬,那麼你租用來的那點帶寬就可以服務多一倍的客戶了。
IIS6已經內建了Gzip壓縮的支持,可惜,沒有設置更好的管理界面。所以要打開這個選項,還要費些功夫。
首先,如果你需要壓縮靜態文件(HTML),需要在硬碟上建一個目錄,並給它「IUSR_機器名」這個用戶的寫許可權。如果壓縮動態文件(PHP,asp,aspx)就不需要了,因為它的頁面是每次都動態生成的,壓縮完就放棄。然後在IIS管理器中,「網站」上面右鍵-屬性,不是下面的某個站點,而是整個網站。進入「服務」標簽,選上啟用動態內容壓縮,靜態內容壓縮。
然後選中網站下面那個伺服器擴展,新建一個伺服器擴展。名字無所謂,下面的添加文件的路徑是:
c:/windows/system32/inetsrv/gzip.dll,然後啟用這個擴展。
這時候靜態內容是可以壓縮的,但是對於動態內容,aspx文件卻不在壓縮范圍內。因為默認的可壓縮文件並沒有這個擴展名。而管理界面中你又找不到可以增加擴展名的地方,這時候只能去修改它的配置文件了。
在 c:/windows/system32/inetsrv/下面有個MetaBase.xml文件,可以用記事本打開,找到 IIsCompressionScheme,有三個相同名字的段,分別是deflate,gzip,Parameters,第三段不用管它,前兩段有基本相同的參數,在這兩段的參數HcScriptFileExtensions下面都加上一行aspx,如果你有其它的動態程序要壓縮,也加在這里。 HcDynamicCompressionLevel改成9,(0-10,9是性價比最高的一個)。
1.首先備份 IIS 的配置文件,
復制C:/Windows/system32/inetsrv/metabase.xml到另外的備份文件夾中.
C:/Windows/system32/inetsrv/metabase.xml是 IIS 的核心配置文件,該文件的完整性一但被破壞,IIS 將無法正常運行,嚴重到需要重新安裝系統.
2. 在開始菜單中啟動 Internet 信息服務(IIS)管理器,右鍵點擊「網站」屬性,打開「服務」選項卡,勾選「HTTP 壓縮」的兩個選項。「臨時目錄」和「臨時目錄最大容量」可根據需要自行設置。設置完成後點擊確定。
3. 右鍵點擊「網站」下方的 「Web服務擴展」,添加一個新的Web服務擴展,擴展名填寫為「HTTP Compression」或其他,都可以。「要求的文件」添加:c:/windows/system32/inetsrv/gzip.dll ,並勾選「設置擴展狀態為允許」,完成後點擊確定。
4.下面的步驟有些復雜,如果沒有確定的把握能理解,最好不要嘗試,右鍵點擊「Internet 信息服務的」「本地計算機」屬性,勾選「允許直接編輯配置資料庫」並確定。
5. 在開始菜單中運行 notepad C:/Windows/system32/inetsrv/metabase.xml ,打開metabase.xml 文件,請在任何改動前再次確認該文件已經備份。
6. 搜索並找到 metabase.xml 文件中的<IIsCompressionScheme 片段中的HcScriptFileExtensions,依照原有文件的格式添加你希 望進行 HTTP 壓縮的文件擴展名,靜態文件HcFileExtensions可添加 JS,CSS 等; 動態文件HcScriptFileExtensions可添加"ASPX"」ASMX」,如下:
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/deflate」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」0″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」FALSE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
<IIsCompressionScheme Location =」/LM/W3SVC/Filters/Compression/gzip」
HcCompressionDll=」%windir%/system32/inetsrv/gzip.dll」
HcCreateFlags=」1″
HcDoDynamicCompression=」TRUE」
HcDoOnDemandCompression=」TRUE」
HcDoStaticCompression=」TRUE」
HcDynamicCompressionLevel=」9″
HcFileExtensions=」htm
html
js
css
txt」
HcOnDemandCompLevel=」10″
HcPriority=」1″
HcScriptFileExtensions=」asp
aspx
asmx
dll
exe」
>
</IIsCompressionScheme>
注意「Compression/deflate」和「Compression/gzip」兩個片段都需要修改。動態壓縮等級,HcDynamicCompressionLevel建議設置為「9」
7. 保存並關閉 metabase.xml 文件。
8. 重新啟動 IIS 服務,運行「IISReset」或重新啟動 WWW 服務。
9. 其他:
如果你的伺服器上某一個Web站點不希望啟用 IIS 壓縮,請運行以下腳本:
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoStaticCompression False
cscript. C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/site#/root/DoDynamicCompression False
如果想增加啟用 HTTP 壓縮的文件類型,請運行以下腳本:
「」 中為文件擴展名,別忘了把原有的擴展名加上。
靜態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcFileExtensions 「htm」 「html」 「txt」 「doc」 「ppt」 「xls」
動態文件壓縮:
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions 「asp」 「aspx」 「asmx」 「dll」 「exe」 「php」
將site#替換為該 Web 站點的 ID。Web 站點的 ID是什麼到「日誌記錄屬性」中看一下日誌記錄的「日誌文件名」前面的路徑就知道了。
運行以上腳本前務必備份,運行後再次執行「IISReset」使生效.

『貳』 編譯安裝apache 需要什麼環境

編譯Apache的要求如下:
磁碟空間
必須保證有50MB以上的自由臨時磁碟空間。Apache安裝完畢後會占據10MB左右的空間,實際的磁碟空間需求會因編譯設置和是否安裝第三方模塊而有所不同。
ANSI-C編譯器及編譯環境
必須裝有ANSI-C編譯器,推薦使用自由軟體基金會(FSF)的GCC。如果沒有GCC,那麼要確保使用的編譯器符合ANSI標准,而且PATH中必須包含指向基本編譯工具比如make的路徑。
確保准確的時間
由於HTTP協議的元素都會用到時間,有必要了解一下你的系統所使用的時間同步機制。在基於網路時間協議(NTP)的系統中,一般是用ntpdate或xntpd來同步時間。有關NTP軟體的資料請參見NTP主頁。
Perl 5 [可選]
有些用Perl寫的支持腳本,如apxs或dbmmanage ,需要Perl5解釋器(5.003或以上的版本就足夠了)。如果系統中存在多個Perl解釋器,比如有系統提供的Perl 4,還有你自己安裝的Perl 5,推薦你使用 --with-perl 選項來確保configure腳本使用正確的版本。如果configure沒有沒找到Perl 5也沒關系,這並不影響Apache httpd的編譯和安裝,只是相關的支持腳本不能使用而已。
apr/apr-util >= 1.2
apr和apr-util包含在Apache httpd的發行源代碼中,並且在絕大多數情況下使用都不會出現問題。當然,如果apr或apr-util的1.0或1.1版本已經安裝在你的系統中了,則必須將你的apr/apr-util升級到1.2版本,或者將httpd單獨分開編譯。要使用發行源代碼中自帶的apr/apr-util源代碼進行安裝,你必須手動完成:
# 編譯和安裝 apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install

# 編譯和安裝 apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
make
make install

# 配置 httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/

『叄』 伺服器的apache安裝後怎麼設置網站源碼後面那些

運行 Terminal,輸入命令:復制代碼 代碼如下:ssh username@ip,然後輸入密碼。2. 安裝 Apache 軟體:復制代碼 代碼如下:yum install httpd3. 設置 Apache 在伺服器啟動時運行:復制代碼 代碼如下:chkconfig --levels 235 httpd on4. 在 Apache 配置文件中配置域名:復制代碼 代碼如下:vi /etc/httpd/conf/httpd.conf,找到 ServerName ,添加「域名:80」,保存並退出。5. 重啟 Apache:復制代碼 代碼如下:service httpd restart6. 瀏覽器中訪問第4步配置的域名,如果出現「Apache 2 Test Page powered by CentOS」的頁面,說明配置成功。

『肆』 如何將apache源碼打成rpm安裝包

這些命令一半都是製作rpm包和tar.gz調試時用的,一般的用戶不會用到這些命令 一半安裝rpm包時用命令: rpm -ivh XX.rpm 卸載命令: rpm -e XX.rpm 安裝和卸載過程其實就已經執行了上面的命令,至於具體執行那些命令

『伍』 yum安裝的apache怎麼載入源碼編譯的php

apache的apxs工具可以將php編譯一個php.so模塊文件出來,在配置文件中載入該模塊就可以實現apache,php的整合。

『陸』 怎麼徹底刪除linux下編譯安裝的apache和php

啊 這個很容易刪除吧.
源碼編譯安裝,都會通過--prefix 參數安裝目錄的.
先停止所有服務直接把安裝目錄文件夾刪除,然後再到/etc配置文件下刪除配置文件 就可以了...

然後再通過find命令確定一下就可以了..一般都沒這必要.只要刪除安裝目錄和配置文件就可以了..

『柒』 源碼安裝apache報錯如下,求助

如下:
ab.o: In function `main':
/APP/software/httpd-2.4.4/support/ab.c:2273: undefined reference to `TLSv1_2_client_method'
/APP/software/httpd-2.4.4/support/ab.c:2271: undefined reference to `TLSv1_1_client_method'
collect2: ld returned 1 exit status
make[2]: *** [ab] Error 1
make[2]: Leaving directory `/APP/software/httpd-2.4.4/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/APP/software/httpd-2.4.4/support'
make: *** [all-recursive] Error 1

『捌』 rpm包安裝的apache,連接源碼包的php.5.3問題

年最具阿薩德vsdlvdafvdafvafs

『玖』 關於apache的一些疑惑

1、編譯就是把高級語言變成底層計算機可以識別的2進制語言,計算機只認識1和0。比如編寫php時,咱們的代碼是有像if,else等詞彙組成的,但是這些詞彙是為了人們看、寫起來方便,機器是不認識的。要順利執行這些代碼,就需要通過編譯程序把if,else等高級語言編寫的代碼轉換成機器能識別的0和1,這個過程就是編譯。
2、為何安裝好後的apache需要編譯?這個不是很明白問題的意思。和3結合起來回答。通常從網上下載軟體包後,根據他們的格式(比如rpm,tgz或tar.gz)會有不同的安裝方式。rpm安裝簡單講就是把已經編譯好的(即預編譯的)二進制文件自動放到對應的目錄下。而像tgz,tar.gz等文件包含的是軟體的源代碼,即像前面提到的人能很容易看懂的php代碼,需要編譯成二進制之後才能安裝。「安裝預編譯的apache伺服器(1)」與「從apache伺服器源代碼開始安裝(2)」的關系,簡單點就是:(1)能直接安裝(2)中源代碼編譯成的二進制文件。舉個例子:比如你現在有兩台一樣的linux系統a和b,你在a中通過(2)源代碼的方式編譯安裝某軟體d,這個過程完成後會生產許多的二進制文件c(通常是藉助以下命令./configure; make(編譯); make install),如果這個時候你把這些生成的所有二進制文件c,都拷貝到b系統中對應的目錄下,那麼在b中也就成功安裝了d軟體。因為你拷貝的文件c已經是二進制文件了,系統能直接認到。換句話說就是可以直接把別人編譯好的二進制文件(即預編譯的文件)拿過來在自己的機器上安裝,前提是你們linux系統要一樣(或兼容)。
不知道說清楚沒有

『拾』 如何在雲主機上利用源代碼安裝Nginx伺服器

1這些設置可能會有所不同,你需要根據不同情況進行修改。 2安裝Apache2 2.切換管理員身份 在Ubuntu中需要用root身份進行操作,所以用下面的命令確保以root身份登錄: sudo su 3.開始安裝MySQL5 apt-get install mysql-server mysql-client 你將被要求提供一個MySQL的root用戶的密碼,我們需要在紅色區域設置密碼。 New password for the MySQL "root" user: <-- yourrootsqlpassword Repeat password for the MySQL "root" user: <-- yourrootsqlpassword 4.安裝Apache2 Apache2的是作為一個Ubuntu的軟體包,因此我們可以直接用下面命令安裝它: apt-get install apache2 5.安裝PHP5 我們可以直接安裝PHP5和Apache的PHP5的模塊,如下: apt-get install php5 libapache2-mod-php5 安裝完需要重啟 /etc/init.d/apache2 restart 6.測試的PHP5並獲取PHP5安裝的詳細信息: 默認網站的文件根目錄是在/var/www下中。現在我們將在該目錄中創建一個小型PHP文件(info.php的)在瀏覽器中調用它。該文件將顯示很多關於我們的PHP安裝,如安裝的PHP版本和有用的一些細節。 7.PHP5獲得MySOL的支持 讓PHP在MySQL中獲得支持,我們可以安裝的php-mysql軟體包。安裝一些其他的PHP5模塊,以及您可能需要的應用程序,這是一個好主意: apt-cache search php5 還安裝需要安裝的 apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl 現在重新啟動Apache2的: /etc/init.d/apache2 restart 8.安裝phpMyAdmin phpMyAdmin是一個網路介面,通過它可以管理你的MySQL資料庫。 apt-get install phpmyadmin 你會看到以下問題: Web server to reconfigure automatically: <-- apache2 Configure database for phpmyadmin with dbconfig-common? <-- No

閱讀全文

與源碼安裝apache相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:873
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26