一般使用第三方面板來配置網站環境,和部署網站。
個人建站的辦法很簡單,首先網站1核2G內存1M帶寬,40G高效雲盤。要准備以下的資料
注冊域名。最好能和網站內容有點關聯
選擇網站系統。例如wordpress,zblog,emblog等都可以。
選擇雲伺服器,例如阿里或者騰訊等
解析域名到伺服器
發布網站到雲主機以上步驟還是需要一些知識的。
至此,網站建設完成。老魏為此寫過雲伺服器手動建站等多篇教程,看完有疑問可以問,在線了就回答。
2、LINux www伺服器配置,高手請解答謝謝!!Httpd文件中配置!
Linux下WWW伺服器配置全攻略_動網_社區論壇·開發者網路源動力
伺服器→ 閱讀文版章 Linux下WWW伺服器配置全權攻略 作者:無從考證 來源:轉載 閱讀 數 227 人次 , 2006-2-15 18:18:00 Linux操作系統近幾年有了蓬勃的發展,在整個世界范圍內得到了越來越多公司和團體的支持,尤其是最近IBM公司的鼎力...
www.cndw.com/tech/server/200602159929.asp
3、linux伺服器如何配置上網
Linux系統的伺服器網路配置查詢命令:ifconfig
一種自動獲取,網路配置選擇自動
二種手動添加IP 網關 DNS
在終端下 sudo
gedit /etc/network/interfaces 然後在該文件中修改ip地址、子網掩碼、以及網關 。下來就要修改DNS,在終端下輸入
sudo gedit /etc/resolv.conf 然後將DNS伺服器地址補充到 nameserver 後面,如 nameserver
202.117.128.2保存退出,在用命令 sudo /etc/init.d/networking restart
使之前修改的生效,然後重啟就OK了。
4、怎麼查看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,內存的使用情況)。
5、Linux www伺服器配置?
如果只是顯示兩行文字的話。只需配置web伺服器就可以了,比如apache。或者njnx。在他們的配置文件中可以指定域名綁定的目錄,具體的語法格式,可以參考官方的使用說明。
6、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目錄下。到此為止,安裝完成。
7、怎麼查看linux伺服器的配置
|幾個cpu
Java代碼
more /proc/cpuinfo |grep "physical id"|uniq|wc -l
每個cpu是幾核(假設cpu配置相同)
Java代碼
more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l
Java代碼
cat /proc/cpuinfo | grep processor
1. 查看物理CPU的個數
Java代碼
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2. 查看邏輯CPU的個數
Java代碼
#cat /proc/cpuinfo |grep "processor"|wc -l
3. 查看CPU是幾核
Java代碼
#cat /proc/cpuinfo |grep "cores"|uniq
4. 查看CPU的主頻
Java代碼
#cat /proc/cpuinfo |grep MHz|uniq
Java代碼
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看當前操作系統內核信息)
Java代碼
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看當前操作系統發行版信息)
Java代碼
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8個邏輯CPU, 也知道了CPU型號)
Java代碼
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(說明實際上是兩顆4核的CPU)
Java代碼
# getconf LONG_BIT
32
(說明當前CPU運行在32bit模式下, 但不代表CPU不支持64bit)
Java代碼
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(結果大於0, 說明支持64bit計算. lm指long mode, 支持lm則是64bit)
如何獲得CPU的詳細信息:
linux命令:
Java代碼
cat /proc/cpuinfo
用命令判斷幾個物理CPU,幾個核等:
邏輯CPU個數:
Java代碼
# cat /proc/cpuinfo | grep "processor" | wc -l
物理CPU個數:
Java代碼
# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每個物理CPU中Core的個數:
Java代碼
# cat /proc/cpuinfo | grep "cpu cores" | wc -l
是否為超線程?
如果有兩個邏輯CPU具有相同的」core id」,那麼超線程是打開的。
每個物理CPU中邏輯CPU(可能是core, threads或both)的個數:
Java代碼
# cat /proc/cpuinfo | grep "siblings"
查看文件夾大小
Java代碼
-sh *
列出所有埠
Java代碼
netstat -a | more
列出所有 tcp 埠
Java代碼
netstat -at
列出所有 udp 埠
Java代碼
netstat -au
不顯示主機,埠和用戶名
Java代碼
netstat -an | grep 9300
輸出中顯示 PID 和進程名稱
Java代碼
netstat -p
顯示 TCP 或 UDP 埠的統計信息
Java代碼
# netstat -st
# netstat -su
顯示所有埠的統計信息
Java代碼
netstat -s
只顯示監聽埠
Java代碼
netstat -l
只列出所有監聽 tcp 埠
Java代碼
netstat -lt
只列出所有監聽 udp 埠
Java代碼
netstat -lu
只列出所有監聽 UNIX 埠
Java代碼
netstat -lx
持續輸出 netstat 信息
Java代碼
netstat -c
顯示系統不支持的地址族
Java代碼
netstat --verbose
顯示核心路由信息
Java代碼
netstat -r
找出程序運行的埠
Java代碼
netstat -ap | grep ssh
找出運行在指定埠的進程
Java代碼
netstat -an | grep ':80'
顯示網路介面列表
Java代碼
netstat -i
顯示詳細信息,像是 ifconfig 使用
Java代碼
netstat -ie
查看連接某服務埠最多的的IP地址
Java代碼
netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
TCP各種狀態列表
Java代碼
netstat -nat |awk '{print $6}'
先把狀態全都取出來,然後使用uniq -c統計,之後再進行排序。
Java代碼
netstat -nat |awk '{print $6}'|sort|uniq -c
Java代碼
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
需要解決更多linux問題,詳情請看《Linux就該這樣學》
8、怎麼查看linux伺服器的配置
海騰數據黃成龍為您解答,
Linux系統簡單操作命令:
# uname -a # 查看內核/操作系統/CPU信息
# head -n 1 /etc/issue # 查看操作系統版本
# cat /proc/cpuinfo # 查看CPU信息
9、在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 參數可以讓伺服器報告更全面的運行狀態信息。