国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
編譯與安裝

編譯與安裝

本文僅闡述Apache在Unix和類Unix系統(tǒng)中的編譯和安裝,在Windows中的編譯和安裝可以參考在Microsoft Windows中使用Apache。其他平臺可以參見針對特定平臺的說明文檔。

像其它許多開源項(xiàng)目一樣,Apache使用libtoolautoconf建立編譯環(huán)境。

如果你只進(jìn)行很小的版本升級(比如2.2.54→2.2.55),請直接跳轉(zhuǎn)到下面的升級部分。

針對心急者的概述

下載 $ lynx http://httpd.apache.org/download.cgi
解壓 $ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
配置 $ ./configure --prefix=PREFIX
編譯 $ make
安裝 $ make install
配置 $ vi PREFIX/conf/httpd.conf
測試 $ PREFIX/bin/apachectl -k start

其中NN必須用當(dāng)前的副版本號替代;PREFIX是服務(wù)器被安裝到文件系統(tǒng)中的路徑名,如果沒有指定PREFIX,默認(rèn)會(huì)裝到/usr/local/apache2

下面從編譯和安裝Apache httpd的要求開始詳細(xì)闡述編譯和安裝的每個(gè)步驟。

要求

編譯Apache的要求如下:

磁盤空間
必須保證有50MB以上的自由臨時(shí)磁盤空間。Apache安裝完畢后會(huì)占據(jù)10MB左右的空間,實(shí)際的磁盤空間需求會(huì)因編譯設(shè)置和是否安裝第三方模塊而有所不同。
ANSI-C編譯器及編譯環(huán)境
必須裝有ANSI-C編譯器,推薦使用自由軟件基金會(huì)(FSF)GCC。如果沒有GCC,那么要確保使用的編譯器符合ANSI標(biāo)準(zhǔn),而且PATH中必須包含指向基本編譯工具比如make的路徑。
確保準(zhǔn)確的時(shí)間
由于HTTP協(xié)議的元素都會(huì)用到時(shí)間,有必要了解一下你的系統(tǒng)所使用的時(shí)間同步機(jī)制。在基于網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)的系統(tǒng)中,一般是用ntpdatexntpd來同步時(shí)間。有關(guān)NTP軟件的資料請參見NTP主頁。
Perl 5 [可選]
有些用Perl寫的支持腳本,如apxsdbmmanage ,需要Perl5解釋器(5.003或以上的版本就足夠了)。如果系統(tǒng)中存在多個(gè)Perl解釋器,比如有系統(tǒng)提供的Perl 4,還有你自己安裝的Perl 5,推薦你使用 --with-perl 選項(xiàng)來確保configure腳本使用正確的版本。如果configure沒有沒找到Perl 5也沒關(guān)系,這并不影響Apache httpd的編譯和安裝,只是相關(guān)的支持腳本不能使用而已。
apr/apr-util >= 1.2
aprapr-util包含在Apache httpd的發(fā)行源代碼中,并且在絕大多數(shù)情況下使用都不會(huì)出現(xiàn)問題。當(dāng)然,如果aprapr-util的1.0或1.1版本已經(jīng)安裝在你的系統(tǒng)中了,則必須將你的apr/apr-util升級到1.2版本,或者將httpd單獨(dú)分開編譯。要使用發(fā)行源代碼中自帶的apr/apr-util源代碼進(jìn)行安裝,你必須手動(dòng)完成:

# 編譯和安裝 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/

[譯者添加] apr與apr-util的configure選項(xiàng)

由于語法、配置選項(xiàng)、安裝目錄、系統(tǒng)類型、環(huán)境變量部分與httpd的configure完全相同,所以這些部分略過不表。

用于apr的configure腳本的選項(xiàng):

可選特性

--enable-experimental-libtool
啟用試驗(yàn)性質(zhì)的自定義libtool
--disable-libtool-lock
取消鎖定(可能導(dǎo)致并行編譯崩潰)
--enable-debug
啟用調(diào)試編譯,僅供開發(fā)人員使用。
--enable-maintainer-mode
打開調(diào)試和編譯時(shí)警告,僅供開發(fā)人員使用。
--enable-profile
打開編譯profiling(GCC)
--enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all]
打開pools調(diào)試
--enable-malloc-debug
打開BeOS平臺上的malloc_debug
--disable-lfs
在32-bit平臺上禁用大文件支持(large file support)
--enable-nonportable-atomics
若只打算在486以上的CPU上運(yùn)行Apache ,那么使用該選項(xiàng)可以啟用更加高效的基于互斥執(zhí)行的原子操作。
--enable-threads
啟用線程支持,在線程型的MPM上必須打開它
--disable-threads
禁用線程支持,如果不使用線程化的MPM ,可以關(guān)閉它以減少系統(tǒng)開銷。
--disable-dso
禁用DSO支持
--enable-other-child
啟用可靠子進(jìn)程支持
--disable-ipv6
禁用IPv6支持

可選的額外程序包

--with-gnu-ld
指定C編譯器使用 GNU ld
--with-pic
只使用 PIC/non-PIC 對象[默認(rèn)為兩者都使用]
--with-tags[=TAGS]
包含額外的配置
--with-installbuilddir=DIR
指定APR編譯文件的存放位置(默認(rèn)值為:‘${datadir}/build‘)
--without-libtool
禁止使用libtool連接庫文件
--with-efence[=DIR]
指定Electric Fence的安裝目錄
--with-sendfile
強(qiáng)制使用sendfile(譯者注:2.6系列的Linux內(nèi)核已經(jīng)不再支持sendfile系統(tǒng)調(diào)用)
--with-egd[=DIR]
使用EDG兼容的socket
--with-devrandom[=DEV]
指定隨機(jī)設(shè)備[默認(rèn)為:/dev/random]

用于apr-util的configure腳本的選項(xiàng):

可選的額外程序包

--with-apr=PATH
指定APR的安裝目錄(--prefix選項(xiàng)值或apr-config的路徑)
--with-ldap-include=PATH
ldap包含文件目錄(帶結(jié)尾斜線)
--with-ldap-lib=PATH
ldap庫文件路徑
--with-ldap=library
使用的ldap庫
--with-dbm=DBM
選擇使用的DBM類型DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44}
--with-gdbm=PATH
指定GDBM的位置
--with-ndbm=PATH
指定NDBM的位置
--with-berkeley-db=PATH
指定Berkeley DB的位置
--with-pgsql=PATH
指定PostgreSQL的位置
--with-mysql=PATH
參看INSTALL.MySQL文件的內(nèi)容
--with-sqlite3=PATH
指定sqlite3的位置
--with-sqlite2=PATH
指定sqlite2的位置
--with-expat=PATH
指定Expat的位置或‘builtin‘
--with-iconv=PATH
iconv的安裝目錄

下載

Apache可以從Apache HTTP服務(wù)器下載站點(diǎn)及其鏡像站點(diǎn)下載。大多數(shù)類UNIX系統(tǒng)的Apache用戶最好的選擇是下載源代碼并編譯一個(gè)適合自己的版本,這個(gè)過程(下面將要講述)是很簡單的,它允許你根據(jù)自己的需求進(jìn)行定制。另一方面編譯好的二進(jìn)制版本通常沒有進(jìn)行及時(shí)的更新。如果你下載的是編譯好的二進(jìn)制版本,請按照其中的INSTALL.bindist文件進(jìn)行安裝。

下載完畢后,應(yīng)該對下載來的tar包作PGP簽名校驗(yàn),以確保其完整而且未被篡改過。(PGP下載頁面)

解壓

解壓Apache httpd的tar包很簡單:

$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar

這樣就在當(dāng)前目錄下新建了一個(gè)包含發(fā)行版源代碼的目錄,必須cd進(jìn)入這個(gè)目錄以繼續(xù)服務(wù)器的編譯。

配置源代碼樹

這一步是根據(jù)你的特定平臺和個(gè)人需求配置源代碼樹。位于發(fā)行源代碼根目錄的configure腳本會(huì)完成這個(gè)步驟(對下載Apache CVS版源代碼的開發(fā)者,需要裝有autoconflibtool ,并需要執(zhí)行buildconf ,對于官方的發(fā)行版則沒這個(gè)必要)。

要想用所有的默認(rèn)值配置源代碼樹只要簡單的執(zhí)行 ./configure 命令就可以了,同時(shí)configure還可以接受命令行參數(shù)以改變默認(rèn)值。

最重要的選項(xiàng)是Apache安裝目錄的前綴:--prefix ,因?yàn)锳pache需要知道這個(gè)目錄才能正常運(yùn)作。更多的微調(diào)選項(xiàng)請參考配置選項(xiàng)詳解。

這樣,你就可以通過在配置選項(xiàng)中指定要啟用或禁用哪些模塊來定制Apache的特性Base組的模塊默認(rèn)包含在Apache中。其他組的模塊可以通過 --enable-module 指令啟用。其中module是模塊名去掉"mod_"并將下劃線轉(zhuǎn)換成連字符后的字符串。你也可以使用 --enable-module=shared 指令將模塊編譯為可在運(yùn)行時(shí)加載和卸載的動(dòng)態(tài)共享對象(DSO)。同樣的,你也可以使用 --disable-module 指令禁用Base組的模塊。注意,使用這些指令的時(shí)候configure不會(huì)對你拼寫錯(cuò)誤的模塊發(fā)出警告說找不到某某模塊,而只是簡單的忽略這個(gè)選項(xiàng)。

另外,有時(shí)候還必須提供給configure腳本關(guān)于編譯器、庫、頭文件位置的更多信息。這些可以通過環(huán)境變量或者命令行選項(xiàng)傳遞給configure腳本。要了解更多信息,請參考配置源代碼樹。

為了讓你對能指定什么有一個(gè)簡單的印象,此例演示編譯Apache ,并將其安裝在/sw/pkg/apache目錄,指定了一個(gè)特定的編譯器以及編譯參數(shù),而且允許今后將兩個(gè)附加的模塊mod_rewritemod_speling通過DSO機(jī)制在運(yùn)行時(shí)動(dòng)態(tài)加載:

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-speling=shared

configure需要運(yùn)行幾分鐘,以測試指定的功能在你的系統(tǒng)中是否有效,并建立稍后編譯時(shí)所需的許多Makefile文件。

編譯

運(yùn)行以下命令你就可以編譯Apache的各個(gè)部分了:

$ make

請耐心等候,因?yàn)閷σ粋€(gè)基本配置的編譯,需要運(yùn)行幾分鐘左右,實(shí)際需要的時(shí)間會(huì)因?yàn)槟愕挠布瓦x擇的模塊數(shù)量有很大不同。

安裝

現(xiàn)在可以在PREFIX目錄(參見上述的 --prefix 參數(shù))下安裝了,執(zhí)行:

$ make install

如果是升級,安裝程序不會(huì)覆蓋你的配置文件和文檔。

配置

接著,通過修改PREFIX/conf/目錄下的配置文件,來配置Apache HTTP服務(wù)器。

$ vi PREFIX/conf/httpd.conf

docs/manual/下有Apache使用手冊,http://httpd.apache.org/docs/2.2/有最新的文檔,你還可以查看完整的指令索引。

測試

現(xiàn)在,可以執(zhí)行下述命令立即啟動(dòng)你的Apache HTTP服務(wù)器:

$ PREFIX/bin/apachectl -k start

你應(yīng)該可以用http://localhost/來請求你的第一個(gè)網(wǎng)頁了,這個(gè)網(wǎng)頁位于DocumentRoot目錄下,通常是PREFIX/htdocs/ 。隨后,可以這樣停止服務(wù)器:

$ PREFIX/bin/apachectl -k stop

升級

升級的第一步是閱讀源代碼目錄中的發(fā)布公告(release announcement)和CHANGES文件以尋找可能會(huì)對你的站點(diǎn)產(chǎn)生影響的變化。如果主板本號的變化(例如1.3→2.0或2.0→2.2)表明編譯時(shí)和運(yùn)行時(shí)的配置發(fā)生了重大變化,需要手動(dòng)調(diào)整,所有模塊也需要升級以兼容新版本的模塊API 。

小幅度的版本升級(例如:2.2.55→2.2.57)很容易。make install 的過程不會(huì)改寫任何已經(jīng)存在的文檔、日志、配置文件。此外,開發(fā)者也會(huì)盡量兼容上一版本的configure選項(xiàng)、運(yùn)行時(shí)配置、模塊API 。大多數(shù)情況下,你將能夠使用與上一版本完全相同的configure命令行和運(yùn)行時(shí)配置,而你原來的所有模塊也將正常工作。

如果你保存了上一次安裝后build子目錄中的config.nice文件,升級將更加平滑。這個(gè)文件精確地保存了所有對目錄樹進(jìn)行配置的configure命令行。你只需要將config.nice文件復(fù)制到新的源代碼目錄樹的根文件夾并進(jìn)行你希望的修改后,然后運(yùn)行下面的命令即可完成升級:

$ ./config.nice
$ make
$ make install
$ PREFIX/bin/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -k start

你應(yīng)該總是在將新版本的Apache投入正式運(yùn)行前,對這個(gè)新版本進(jìn)行足夠的、針對你的實(shí)際運(yùn)行環(huán)境的測試。比如,你可以使用一個(gè)不同的 --prefix 設(shè)置將新版本安裝在一個(gè)不同的目錄,并使用Listen指令在一個(gè)不同的端口監(jiān)聽。經(jīng)過一段時(shí)間的測試以發(fā)現(xiàn)可能存在的問題,然后再做出最后的決定。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
編程入門網(wǎng)
項(xiàng)目發(fā)布Debug和Release版的區(qū)別
Linux環(huán)境下程序編譯
LAMP 組合的安裝
GCC編譯器的編譯規(guī)則
apache+mysql+php 配置實(shí)例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服