linux配置伺服器
Ⅰ linux伺服器基本配置
檢查硬體支持,在安裝Linux之前,先確定你的計算機的硬體是否能被Linux所支持。首先,Linux目前支持幾乎所有的處理器(CPU)。
其次,早期的Linux只支持數量很少的顯卡、音效卡,而如今,如果要安裝Linux,已經不需要再為硬體是否能被Linux支持擔心了。
2、經過十多年的發展,Linux內核不斷完善,已經能夠支持大部分的主流硬體,同時各大硬體廠商也意識到了Linux操作系統對其產品線的重要性,紛紛針對Linux推出了驅動程序和補丁,使得Linux在硬體驅動上獲得了更廣泛的支持。
Ⅱ linux伺服器怎麼配置。
最好的解決方案是加買一個負載均衡器,網關全部指定負載均衡器。
不另外加硬體,可以拿伺服器做網關,分別設置3個網段對於3個貓。然後酒店內全部網路又對應分成3個vlan,網關伺服器對應來源地址做不同公網路由。
Ⅲ Linux中Web伺服器的配置
你可以通過以下三種方法安裝Apache伺服器。
1.如果你安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的服務
器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工
作,並做好基本的配置。
2.使用可執行文件軟體包,這比較適合那些對編譯工作不是太熟悉的初級
用戶,因為它相對比較簡單。
下載軟體包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
這就完成了安裝工作,簡單吧!
如果你使用的是RedHat Linux的話,你也可以下載apache_1.2.4.rpm軟體
安裝包,然後使用rpm -ivh apache_1.2.4.rpm命令安裝。
3.如果你想把Apache伺服器充分利用起來的話,就一定要自己編譯
Apache定製其功能。
下載包含Apache源代碼的軟體包apache_1.2.4.tar.gz; 然後用tar命令將它解
開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件
(Configuration.tmpl)復制為Configuration文件;
編輯Configuration文件中的配置選項:
Makefile配置選項:一些編譯選項:
. "CC="一行指定用什麼編譯軟體編譯,一般為"CC=gcc";
. 如果需要將額外的標志(參數)指定給C編譯軟體,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系統需要特殊的庫和包含文件,可以在這里指定它們:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改變代碼優化設置的話,你須將下面一句去掉注釋,然
後改成你所需要的值:
#OPTIM=-O2
Rule配置選項:用來決定需要什麼功能,一般情況下無需改變。
模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用
模塊配置,可以自定義在Apache伺服器中需要什麼功能,這個部分也是Apache
靈活性的表現。模塊配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache伺服器具備什麼功能,就將那個模塊用AddMole語句加到配
置文件Configuration中去。
下表列出了Apache的模塊功能:
模塊名 功能 預設
mod_access 提供基於主機的訪問控制命令 y
mod_actions 能夠運行基於MIME類型的CGI腳本或HTTP請求方法 y
mod_alias 能執行URL重定向服務 y
mod_asis 使文檔能在沒有HTTP頭標的情況下被發送到客戶端 y
mod_auth 支持使用存儲在文本文件中的用戶名、口令實現認證 y
mod_auth_dbm 支持使用DBM文件存儲基本HTTP認證 n
mod_auth_mysql 支持使用MySQL資料庫實現基本HTTP認證 n
mod_auth_anon 允許以匿名方式訪問需要認證的區域 y
mod_auth_external支持使用第三方認證 n
mod_autoindex 當缺少索引文件時,自動生成動態目錄列表 y
mod_cern_meta 提供對元信息的支持 n
mod_cgi 支持CGI y
mod_dir 能夠重定向任何對不包括尾部斜杠字元命令的請求 y
mod_env 使你能夠將環境變數傳遞給CGI或SSI腳本 n
mod_expires 讓你確定Apache在伺服器響應請求時如何處理Expires y
mod_headers 能夠操作HTTP應答頭標 y
mod_imap 提供圖形映射支持 n
mod_include 使支持SSI n
mod_info 對伺服器配置提供了全面的描述 y
mod_log_agent 允許在單獨的日誌文件中存儲用戶代理的信息 n
mod_log_config 支持記錄日誌 y
mod_log_referer 提供了將請求中的Referer頭標寫入日誌的功能 n
mod_mime 用來向客戶端提供有關文檔的元信息 y
mod_negotiation 提供了對內容協商的支持 y
mod_setenvif 使你能夠創建定製環境變數 y
mod_speling 使你能夠處理含有拼寫錯誤或大小寫錯誤的URL請求 n
mod_status 允許管理員通過WEB管理Apache y
mod_unique_id 為每個請求提供在非常特殊的條件下保證是唯一的標識 n
在src目錄下執行:". /configure";
編譯Apache:執行命令"make";
根據機器性能的不同,經歷一段5-30分鍾的編譯,就大功告成了。
將編譯好的可執行文件httpd復制到/etc/httpd/bin目錄下;
將Apache發行版的配置文件:access.conf、httpd.conf、mime.types、
srm.conf文件復制到/etc/httpd/conf目錄下。到此為止,安裝完成。
Ⅳ 怎麼查看linux伺服器的配置
首先當然要取得機器的IP,用戶名和密碼。
登陸之後,首先看到的就是機器的名稱,一般提示符就有了,如[root@localhost root]#。
這其中的localhost就是機器名了.如果用命令來查看的話就是hostname。
查看系統內核:uname –a。
查看操作系統的版本(我現在只用過redhat,所以只以這個為例):cat /etc/redhat-release。
查看網路配置信息:ifconfig
輸出如下信息:eth0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:10.1.3.101 Bcast:10.1.3.255 Mask:255.255.255.0
……
eth1 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX
inet addr:10.1.2.101 Bcast:10.1.2.255 Mask:255.255.255.0
……..
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1。
說明當前有三個網卡:eth0,eth1,lo;其中lo的ip是127.0.0.1,是用於測試的虛擬介面.
如果要對每個網卡查看更詳細的信息就需要分別查看其配置文件
對eth0
執行less /etc/sysconfig/network-scripts/ifcfg-eth0
輸出如下信息
DEVICE=eth0 設備名稱
HWADDR=00:XX:XX:XX:XX:XX 物理地址
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=10.1.3.101 ip地址
GATEWAY=10.1.3.1 網關
NETMASK=255.255.255.0 掩碼
對eth1
執行less /etc/sysconfig/network-scripts/ifcfg-eth1,輸出結果與上面類似。
查看當前打開的服務:chkconfig –list。
查看當前打開的埠:netstat –an。
查看磁碟信息:fdisk –l、df –h。
查看cpu的信息:cat /proc/cpuinfo。
查看內存信息:cat /proc/meminfo。
查看板卡信息:lspci、cat /proc/pci。
查看當前系統運行情況:ps –aux、top (類似於windows的任務管理器,可以看到當前cpu,內存的使用情況)。
Ⅳ 用linux搭建伺服器
200分是沒人給你乾的,200元估計都沒戲……
建議你自己翻翻網上的帖子。
第一個問題直接上 samba 吧,不過自動分類管理是沒見過的,這需要專門找軟體實現。讓員工自己人肉分類吧……
第二個目前來說只能放棄新浪企業郵箱(除非你把公司搬到新浪的機房……),不過你的企業郵箱如果有自己的域名,那麼新建一個郵件伺服器還是很容易的。隨便找個企業伺服器版 Linux ,裡面的文件共享,郵件伺服器軟體都准備好了。
你直接找個文章照著文章裡面說的內容就能建了。
郵件方面我建議你選擇安裝一個好用的 webmail 程序,這種開源代碼還是很多的。大家用起來方便,管理也方便。
印象里國內有個開源的 webmail 項目,有安裝後就是郵件伺服器的安裝盤提供。你在他的基礎上裝個 samba 伺服器程序就行了。
-----------------
完全可以,但實際需要有人會做。以及數據、應用的轉移成本問題。
Ⅵ 怎麼設置linux伺服器
我按下面這個配置成功了,你可以試下:
一、安裝的前提條件
1.確保安裝了網卡並工作正常
使用命令
#ifconfig eth0
查看網卡狀態,然後關閉ifdown eth0,注意一定要關閉ifdown eth0
2.在系統中不要設置默認路由(網關),讓ADSL撥號後自動獲得
如果已經設置了默認路由,使用以下方法刪除:
在文件 /etc/sysconfig/network 中刪除 GATEWAY= 這一行,然後以root執行:
#/etc/rc.d/init.d/network restart
3.已經安裝了pppd軟體包
如果存在文件 /usr/sbin/pppd,則說明已經安裝了pppd;
如果未安裝,從RedHatLinux 6.2安裝光碟上安裝ppp-2.3.11-
4.i386.rpm這個軟體包
二、安裝PPPOE客戶端軟體
Linux下的PPPOE客戶端軟體比較多,而且大多使用GNU License,我們推薦使用rp-pppoe 這個軟體包。從這個網站上,不僅可以下載
RedHat 62平台下的rp-pppoe的二進制軟體包,而且可以下載源代碼軟體包。
1.二進制軟體包的安裝:
A.下載二進制軟體包
B.進行安裝
以root執行:
#rpm -Uvh rp-pppoe-3.2-1.i386.rpm
2.從源代碼進行安裝:
從源代碼進行安裝同樣適用於其它平台的Linux,但必須在Linux系統中安裝gcc編譯器。
A.下載源代碼軟體包
B.解壓縮
#tar xvfz rp-pppoe-3.2.tar.gz
#cd rp-pppoe-3.2
C.進行編譯和安裝
運行腳本
#./go
將自動進行編譯和安裝,最後,調用/usr/sbin/adsl-setup進行配置,具體解釋見三。
三、配置PPPOE客戶端軟體
安裝完軟體包後,必須配置pppoe的配置文件/etc/ppp/pppoe.conf,從而讓ADSL撥號時使用配置文件中的用戶名、密碼等參數。我們不必手工改動這個文件,可以使用adsl-setup這個工具進行配置:
#/usr/sbin/adsl-setup
當出現
>>> Enter your PPPoE user name :
輸入ADSL帳號的用戶名
當出現
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth0):
輸入 eth0 ,這是ADSL相連的網卡的名字
當出現
>>> Enter the demand value (default no):
輸入 no
當出現
>>> Enter the DNS information here:
輸入 server ,這表示使用ADSL撥號自動獲得的DNS伺服器IP地址
當出現
>>> Please enter your PPPoE password:
輸入ADSL帳號的密碼
當出現
>>> Choose a type of firewall (0-2):
輸入 0 ,不使用防火牆
當出現
>>> Accept these settings and adjust configuration files (y/n)?
如果輸入的信息正確,輸入 y ,完成配置,否則,輸入 n 重新輸入。
四、啟動PPPOE客戶端軟體
使用命令
/usr/sbin/adsl-start 啟動PPPOE客戶端軟體,進行連接,如果成功,將出現
Connected;
如果不成功,請檢查網線、ADSL MODEM等物理設備,並查看 /var/log/messages中的信息
/usr/sbin/adsl-stop 關閉和ISP的連接
/usr/sbin/adsl-status 查看當前連接的狀態
如果想在Linux系統啟動時自動啟動ADSL連接,輸入以下命令
#chkconfig --add adsl
將在當前的運行級下加入ADSL的自啟動腳本
五、測試
當連接成功後,使用命令
#ifconfig -a
在輸出中應該含有關於 ppp0 的一堆信息,其中還綁定了 IP 地址,說明已經從撥號中獲得了IP地址。
使用命令
#netstat -nr
查看路由表信息,這時的默認路由應該是上面獲得的IP地址。
如果沒有默認路由,我們可以手動增加:
#route add default gw 上面獲得的IP地址
使用命令
#nslookup
如果解析出新浪的IP,說明已經從撥號中正確獲得了DNS伺服器
最後,使用命令ping某個域名或IP,如果有響應,表示你已經大功告成了。
六、其它說明
1、RedHat Linux 7.1已經集成了rp-pppoe這個軟體包,只不過版本有些低,如果你不在意版本高低,可以直接進行三後面的步驟。
2、以後要拔號上網時,只要:
ifdown eth0
ifup ppp0
/usr/sbin/adsl-start
Ⅶ linux伺服器需要什麼配置
要看做什麼用,就單單的運行系統的話,內存不用多大,cpu一般的都行
Ⅷ 在Linux中,如何配置WWW伺服器
Apache伺服器的設置文件位於/usr/local/apache/conf/目錄下,傳統上使用三個配置文件httpd.conf,access.conf和srm.conf,來配置Apache伺服器的行為。
httpd.conf提供了最基本的伺服器配置,是對守護程序httpd如何運行的技術描述;srm.conf是伺服器的資源映射文件,告訴伺服器各種文件的MIME類型,以及如何支持這些文件;access.conf用於配置伺服器的訪問許可權,控制不同用戶和計算機的訪問限制;這三個配置文件控制著伺服器的各個方面的特性,因此為了正常運行伺服器便需要設置好這三個文件。
除了這三個設置文件之外,Apache還使用mime.types文件用於標識不同文件對應的MIME類型, magic文件設置不同MIME類型文件的一些特殊標識,使得Apache 伺服器從文檔後綴不能判斷出文件的MIME 類型時,能通過文件內容中的這些特殊標記來判斷文檔的MIME類型。
bash-2.02$ ls -l /usr/local/apache/conf
total 100
-rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf
-rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default
-rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf
-rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default
-rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic
-rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default
-rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types
-rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf
-rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default
事實上當前版本的Apache將原來httpd.conf、srm.conf與access.conf中的所有配置參數均放在了一個配置文件httpd.conf中,只是為了與以前的版本兼容的原因(使用這三個設置文件的方式來源於NCSA-httpd),才使用三個配置文件。而提供的access.conf和srm.conf文件中沒有具體的設置。
由於在新版本的Apache中,所有的設置都被放在了httpd.conf中,因此只需要調整這個文件中的設置。以下使用預設提供的httpd.conf為例,解釋Apache伺服器的各個設置選項。然而不必因為它提供設置的參數太多而煩惱,基本上這些參數都很明確,也可以不加改動運行Apache伺服器。但如果需要調整Apache伺服器的性能,以及增加對某種特性的支持,就需要了解這些設置參數的含義。
關於Apache伺服器的性能,在Internet上存在很大的爭議,基本上使用Apache的使用者幾乎都不懷疑它的優秀性能,Apache也支撐了很多著名的高負載的網站,但是在商業機構的評測中,Apache往往得分不高。很多人指出,在這些評測中,商業Web伺服器及其操作系統往往由其專業公司的工程師進行過性能調整,而Free 的操作系統和Web伺服器往往就使用其預設配置或僅僅作很小的更改。需要指出的是,除了操作系統的性能調整之外,Apache 伺服器本身的預設配置絕不是最優化和最高效的,而是要適應幾乎所有種類操作系統、所有種類硬體下的設置,多平台的軟體不可能為特定平台和特定硬體提供最優化的預設配置。因此要使用Apache的時候,性能調整是必不可少的。
在商業評測中忽略了的另一個事實是,評測時往往對不同種類的功能進行比較,例如使用Apache的標准CGI 的性能與ISAPI,NSAPI等伺服器端API比較,事實上Apache伺服器與此可以比較的功能為modperl ,FastCGI,與ASP類似的功能為PHP等等,只不過由於Apache的開放模式,這些功能是由獨立的開發組,作為獨立的模塊來實現的。但是在評測中,測試人員沒有加入相應的模塊評測其性能。
HTTP守護進程的運行參數
httpd.conf中首先定義了一些httpd守護進程運行時需要的參數,來決定其運行方式和運行環境。
ServerType standalone
ServerType定義伺服器的啟動方式,預設值為獨立方式standalone,httpd
伺服器將由其本身啟動,並駐留在主機中監視連接請求。在Linux下將在啟動文件 /etc/rc.d/rc.local/init.d/apache中自動啟動Web伺服器,這種方式是推薦設置。
啟動Apache伺服器的另一種方式是inet方式,使用超級伺服器inetd監視連接請求並啟動伺服器。當需要使用inetd啟動方式時,便需要更改為這個設置,並屏蔽/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf並重起inetd,那麼Apache就能從inetd中啟動了。
兩種方式的區別是獨立方式是由伺服器自身管理自己的啟動進程,這樣在啟動時能立即啟動伺服器的多個副本,每個副本都駐留在內存中,一有連接請求不需要生成子進程就可以立即進行處理,對於客戶瀏覽器的請求反應更快,性能較高。而 inetd方式要由inetd發現有連接請求後才去啟動http伺服器,由於inetd 要監聽太多的埠,因此反應較慢、效率較低,但節約了沒有連接請求時Web伺服器佔用的資源。因此inetd方式只用於偶爾被訪問並且不要求訪問速度的伺服器上。事實上inetd方式不適合http的突發和多連接的特性,因為一個頁面可能包含多個圖象,而每個圖象都會引起一個連接請求,即使雖然訪問人數造成教少,但瞬間的連接請求並不少,這就受到inetd性能的限制,甚至會影響由inetd啟動的其他伺服器程序。
ServerRoot "/usr/local"
ServerRoot用於指定守護進程httpd的運行目錄,httpd在啟動之後將自動將進程的當前目錄改變為這個目錄,因此如果設置文件中指定的文件或目錄是相對路徑,那麼真實路徑就位於這個ServerRoot定義的路徑之下。
由於httpd會經常進行並發的文件操作,就需要使用加鎖的方式來保證文件操作不沖突,由於NFS文件系統在文件加鎖方面能力有限,因此這個目錄應該是本地磁碟文件系統,而不應該使用NFS文件系統。
#LockFile /var/run/httpd.lock
LockFile參數指定了httpd守護進程的加鎖文件,一般不需要設置這個參數, Apache伺服器將自動在ServerRoot下面的路徑中進行操作。但如果ServerRoot為NFS文件系統,便需要使用這個參數指定本地文件系統中的路徑。
PidFile /var/run/httpd.pid
PidFile指定的文件將記錄httpd守護進程的進程號,由於httpd能自動復制其自身,因此系統中有多個httpd進程,但只有一個進程為最初啟動的進程,它為其他進程的父進程,對這個進程發送信號將影響所有的httpd進程。PidFILE定義的文件中就記錄httpd父進程的進程號。
ScoreBoardFile /var/run/httpd.scoreboard
httpd使用ScoreBoardFile來維護進程的內部數據,因此通常不需要改變這個參數,除非管理員想在一台計算機上運行幾個Apache伺服器,這時每個Apache伺服器都需要獨立的設置文件htt pd.conf,並使用不同的ScoreBoardFile。
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
這兩個參數ResourceConfig和AccessConfig,就用於和使用 srm.conf 和 access.conf 設置文件的老版本Apache兼容。如果沒有兼容的需要,可以將對應的設置文件指定為/dev/null,這將表示不存在其他設置文件,而僅使用httpd.conf 一個文件來保存所有的設置選項。
Timeout 300
Timeout定義客戶程序和伺服器連接的超時間隔,超過這個時間間隔(秒)後伺服器將斷開與客戶機的連接。
KeepAlive On
在HTTP 1.0中,一次連接只能作傳輸一次HTTP請求,而KeepAlive參數用於支持HTTP 1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個HTTP請求。雖然只有較新的瀏覽器才支持這個功能,但還是打開使用這個選項。
MaxKeepAliveRequests 100
MaxKeepAliveRequests為一次連接可以進行的HTTP請求的最大請求次數。將其值設為0將支持在一次連接內進行無限次的傳輸請求。事實上沒有客戶程序在一次連接中請求太多的頁面,通常達不到這個上限就完成連接了。
KeepAliveTimeout 15
KeepAliveTimeout測試一次連接中的多次請求傳輸之間的時間,如果伺服器已經完成了一次請求,但一直沒有接收到客戶程序的下一次請求,在間隔超過了這個參數設置的值之後,伺服器就斷開連接。
MinSpareServers 5MaxSpareServers 10
在使用子進程處理HTTP請求的Web伺服器上,由於要首先生成子進程才能處理客戶的請求,因此反應時間就有一點延遲。但是,Apache伺服器使用了一個特殊技術來擺脫這個問題,這就是預先生成多個空餘的子進程駐留在系統中,一旦有請求出現,就立即使用這些空餘的子進程進行處理,這樣就不存在生成子進程造成的延遲了。在運行中隨著客戶請求的增多,啟動的子進程會隨之增多,但這些伺服器副本在處理完一次HTTP請求之後並不立即退出,而是停留在計算機中等待下次請求。但是空餘的子進程副本不能光增加不減少,太多的空餘子進程沒有處理任務,也佔用伺服器的處理能力,因此也要限制空餘副本的數量,使其保持一個合適的數量,使得既能及時回應客戶請求,又能減少不必要的進程數量。
因此就可以使用參數MinSpareServers來設置最少的空餘子進程數量, 以及使用參數MaxSpareServers 來限制最多的空閑子進程數量,多餘的伺服器進程副本就會退出。根據伺服器的實際情況來進行設置,如果伺服器性能較高,並且也被頻繁訪問,就應該增大這兩個參數的設置。對於高負載的專業網站,這兩個值應該大致相同,並且等同於系統支持的最多伺服器副本數量,也減少不必要的副本退出。
StartServers 5
StartServers參數就是用來設置httpd啟動時啟動的子進程副本數量,這個參數與上面定義的MinSpareServers和MaxSpareServers參數相關,都是用於啟動空閑子進程以提高伺服器的反應速度的。這個參數應該設置為前兩個值之間的一個數值,小於MinSpareServers和大於MaxS pareServers都沒有意義。
MaxClients 150
在另一方面,伺服器的能力畢竟是有限的,不可能同時處理無限多的連接請求,因此參數Maxclient s就用於規定伺服器支持的最多並發訪問的客戶數,如果這個值設置得過大,系統在繁忙時不得不在過多的進程之間進行切換來為太多的客戶進行服務,這樣對每個客戶的反應就會減慢,並降低了整體的效率。如果這個值設置的較小,那麼系統繁忙時就會拒絕一些客戶的連接請求。當伺服器性能較高時,就可以適當增加這個值的設置。對於專業網站,應該使用提高伺服器效率的策略,因此這個參數不能超過硬體本身的限制,如果頻繁出現拒絕訪問現象,就說明需要升級伺服器硬體了。對於非專業網站,不太在意對客戶瀏覽器的反應速度,或者認為反應速度較慢也比拒絕連接好,就也可以略微超過硬體條件來設置這個參數。
這個參數限制了MinSpareServers和MaxSpareServers的設置,它們不應該大於這個參數的設置。
MaxRequestsPerChild 30
使用子進程的方式提供服務的Web服務,常用的方式是一個子進程為一次連接服務,這樣造成的問題就是每次連接都需要生成、退出子進程的系統操作,使得這些額外的處理過程占據了計算機的大量處理能力。因此最好的方式是一個子進程可以為多次連接請求服務,這樣就不需要這些生成、退出進程的系統消耗,Apache就採用了這樣的方式,一次連接結束後,子進程並不退出,而是停留在系統中等待下一次服務請求,這樣就極大的提高了性能。
但由於在處理過程中子進程要不斷的申請和釋放內存,次數多了就會造成一些內存垃圾,就會影響系統的穩定性,並且影響系統資源的有效利用。因此在一個副本處理過一定次數的請求之後,就可以讓這個子進程副本退出,再從原始的httpd進程中重新復制一個干凈的副本,這樣就能提高系統的穩定性。這樣,每個子進程處理服務請求次數由MaxRe questPerChild定義。 預設的設置值為30,這個值對於具備高穩定性特點的Linux系統來講是過於保守的設置,可以設置為1000甚至更高,設置為0支持每個副本進行無限次的服務處理。
#Listen 3000
#Listen 12.34.56.78:80
#BindAddress *
Listen參數可以指定伺服器除了監視標準的80埠之外,還監視其他埠的HTTP請求。由於FreeBSD系統可以同時擁有多個IP地址,因此也可以指定伺服器只聽取對某個BindAddress< /B>的IP地址的HTTP請求。如果沒有配置這一項,則伺服器會回應對所有IP的請求。
即使使用了BindAddress參數,使得伺服器只回應對一個IP地址的請求,但是通過使用擴展的Listen參數,仍然可以讓HTTP守護進程回應對其他IP地址的請求。此時Listen參數的用法與上面的第二個例子相同。這種比較復雜的用法主要用於設置虛擬主機。此後可以用VirtualHost參數定義對不同IP的虛擬主機,然而這種用法是較早的HTTP 1.0標准中設置虛擬主機的方法,每針對一個虛擬主機就需要一個IP地址,實際上用處並不大。在HTTP 1.1中,增加了對單IP地址多域名的虛擬主機的支持,使得虛擬主機的設置具備更大的意義。
LoadMole mime_magic_mole libexec/apache/mod_mime_magic.so
LoadMole info_mole libexec/apache/mod_info.so
LoadMole speling_mole libexec/apache/mod_speling.so
LoadMole proxy_mole libexec/apache/libproxy.so
LoadMole rewrite_mole libexec/apache/mod_rewrite.so
LoadMole anon_auth_mole libexec/apache/mod_auth_anon.so
LoadMole db_auth_mole libexec/apache/mod_auth_db.so
LoadMole digest_mole libexec/apache/mod_digest.so
LoadMole cern_meta_mole libexec/apache/mod_cern_meta.so
LoadMole expires_mole libexec/apache/mod_expires.so
LoadMole headers_mole libexec/apache/mod_headers.so
LoadMole usertrack_mole libexec/apache/mod_usertrack.so
LoadMole unique_id_mole libexec/apache/mod_unique_id.so
ClearMoleList
AddMole mod_env.c
AddMole mod_log_config.c
AddMole mod_mime_magic.c
AddMole mod_mime.c
AddMole mod_negotiation.c
AddMole mod_status.c
AddMole mod_info.c
AddMole mod_include.c
AddMole mod_autoindex.c
AddMole mod_dir.c
AddMole mod_cgi.c
AddMole mod_asis.c
AddMole mod_imap.c
AddMole mod_actions.c
AddMole mod_speling.c
AddMole mod_userdir.c
AddMole mod_proxy.c
AddMole mod_alias.c
AddMole mod_rewrite.c
AddMole mod_access.c
AddMole mod_auth.c
AddMole mod_auth_anon.c
AddMole mod_auth_db.c
AddMole mod_digest.c
AddMole mod_cern_meta.c
AddMole mod_expires.c
AddMole mod_headers.c
AddMole mod_usertrack.c
AddMole mod_unique_id.c
AddMole mod_so.c
AddMole mod_setenvif.c
Apache伺服器的一個重要特性就是其模塊化的結構,這不但表現為其能在編譯時能通過新的模塊加入新的功能,還表現為其模塊可以動態載入入http服務程序中,而不必載入不需要的模塊。使用Apache的動態載入模塊只需要設置好Load Mole和AddMole參數就可以了,這種特性就是Apache的 DSO(Dynamic Shared Object)特性,然而要想充分使用DSO特性仍然不是一個簡單的事情,不適當的改動這里的設置就可能造成伺服器不能正常啟動。因此如果不是要增加或減少伺服器提供的功能,就不要改動這里的設置。
上面這些列表就顯示了Linux下的預設Apache伺服器支持的模塊,事實上很多模塊是沒有必要的,不必要模塊不會被載入內存。模塊可以靜態連接到pache 伺服器內部,也可以這樣動態載入,將Apache的特性都編譯成動態可載入模塊是該Port的做法,而不是Apache的預設做法,這樣就以犧牲很小的性能的同時,帶來極大的靈活性。
因而動態可載入的能力還是對性能有輕微的影響,因此可以重新編譯Apache,將自己所需要的功能編譯進Apache 伺服器內部,可以讓系統顯得更為干凈,效率也有輕微的提高。通常僅僅為了這一個目的就重新編譯Apache是沒有必要的,如果需要增加其他特性而重新編譯Apache,不妨在增加其他模塊的同時將所有的模塊都靜態連接入Apache 伺服器。有的使用者更喜歡動態載入模塊,那麼也不妨全部都使用動態載入模塊。
這些模塊都被放置到/usr/local/apache/libexec/目錄下, 每個模塊對應Apache伺服器的一個特性。詳細解釋每個模塊的功能需要相當多的篇幅,其中比較重要的特性將在後面相應的地方中進行解釋,而具體每個模塊的功能及用法就需要查看Apache的文檔。
#ExtendedStatus On
Apache伺服器可以通過特殊的HTTP請求,來報告自身的運行狀態,打開這個ExtendedStatus 參數可以讓伺服器報告更全面的運行狀態信息。