国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

Linux Apache Web 服務器(續一)

2024-08-27 18:30:15
字體:
來源:轉載
供稿:網友
在具體講解之前,我們必須告訴大家,Apache已經在安裝時就采用了一系列的缺省值,已經讓WWW服務器跑起來了。你只需要將裝上Linux+Apache的主機聯入Internet,然后將主頁存放到“/home/httpd”目錄下即可。 

下面介紹一些最主要的配置選項的含義,以便大家用最小的精力、最小的配置準備好服務器。 

4.1 httpd.conf 

httpd.conf是主配置文件。它告訴服務器將如何運行。 

一、最重要的配置選項ServerType standalone | inetd 

這個配置選項指定如何運行WEB服務器。Apache可以使用兩種方法來運 

行服務器:standalone(獨立的)和inetd(由inetd運行的)。 

standalone參數表示WEB服務進程以一個單獨的守候進程的方式在后臺偵聽是否有客戶端的請求,如果有就生成一個子進程來為其服務。 

inetd參數表示WEB服務不是以一個單獨的守候進程的形式支持。而是由Inetd這個超級服務器守候進程進行代勞,當它收到一個客戶端的WEB服務請求的時候,再啟動一個WEB服務進程為其服務。 

從功能的角度看,這兩種方法幾乎是相同的。但它們之間實際有很大區別,區別在于服務器的性能。一個由inted運行的服務器進程在它結束對請求服務的同時立刻退出。而在standalone模式下,子WWW服務器進程在退出之前要掛起一段時間,這就給它們提供了機會,可以重新用來服務新的請求。 

在standalone模式下,不存在對每個請求啟動新進程的開銷,所以它的效率更高;而inetd模式被認為比standalone模式更具安全性。 


standalone模式: 

此種模式下,WWW服務器偵聽特定端口的連接請求。當客戶機發出到特 



定端口地址的連接請求時,主服務器進程啟動子WWW服務進程來服務該請求。如下圖所示: 

 

圖2 獨立服務器 


另外還需要告訴主服務器進程偵聽的特定端口地址,使用命令: 

Port [number] (缺省值為80) 


inetd模式 



inetd是偵聽有小于1024的端口連接請求的Internet守護進程(一個服務器進程)。與前面的方法不同,當客戶系統發出到WWW服務器的連接請求時,inetd啟動一個WWW服務器進程,由此進程服務此請求,完成服務后即退出。如下圖所示: 



圖3 由inetd啟動的服務器 


如果選擇通過inetd服務器來運行Apache,需要編輯/etc/inetd.conf文件為Apache添加一條新的記錄: 

httpd stream tcp nowait httpd /etc/httpd/bin/httpd –f /etc/httpd/conf/httpd.conf 

修改了/etc/inetd.conf文件后,就需要修改/etc/services中添加一行 

httpd 80/tcp httpd 

做完以上修改后,需要重新啟動inetd進程。首先,使用以下命令取得inetd的進程ID: 

ps auxw |grep inetd 

然后執行命令:kill –HUP 

在RedHat Linux中,默認是采用inetd服務器來運行Apache,所以只要你在安裝時選擇了httpd,以上工作在安裝時就已經代你完成了。 

二、其它配置選項 


Server Admin命令,用來設置WEB管理員的E-Mail地址。這個地址會出現在系統連接出錯的時候,以便訪問者能夠將情況及時地告知WEB管理員。 


命令格式: Server Admin [you E-Mail address] 

例:Server Admin admin@xxx.com 






ErrorLog命令,用來指定錯誤記錄文件名稱和路徑。 

命令格式: ErrorLog [log filename] 

例:ErrorLog /var/httpd/error.log 





Timeout命令,只要客戶端超過這里設定的秒數還沒有完成一個請求的話,服務端將終止這次請求服務。如果網絡速度較慢的話,建議在此設置較大的數值。以給客戶端更多機會。 

命令格式: Timeout [second] 

例:Timeout 120 





ServerRoot命令,它指定在何處保存服務器的配置、錯誤及日志文件。 

命令格式: ServerRoot [fully qualified path name] 

例:ServerRoot /etc/httpd 





ServerName命令,它配置服務器的Internet主機名 

命令格式: ServerName [host name] 

例:ServerName  




4.2 srm.conf 

srm.conf是資源配置文件,用它來告訴服務器你想在WWW站點上提供什么資源以及在哪里和如何提供它們。 


DocumentRoot命令,用來指定主文檔的地址。 

命令格式: DocumentRoot [Path] 

例:DocumentRoot /home/httpd/html 





UserDir命令,用來指定個人主頁的位置。如果你有一個用戶test,那么它主目錄是“/home/test”,當客戶端輸入“~test”,系統就會到對應的目錄“/home/test/UserDir/”中去尋找。其中“UserDir”就是在UserDir命令中設置的指定目錄。 

命令格式: UserDir [Path] 

例: UserDir Public_html 





DirectoryIndex命令,用來聲明首頁文件名稱。一般地,我們使用“index.html”或“index.htm”作為首頁的文件名。如果這樣設置后,那么客戶端發出WEB服務請求時,將首先調入的主頁是在指定目錄下文件“index.html”或“index.htm”。 

命令格式: DirecotryIndex [filename] 

例:DirecotryIndex index.html index.htm 





ScriptAlias命令,為腳本程序目錄起個別名,具體可見4.7小節。 

命令格式: ScriptAlias [/alias/] [fullly qualified path for script directory] 

例: ScriptAlias /cgi-bin/ /home/httpd/cgi-bin 




4.3 access.conf的配置 

access.conf文件用來設置WWW站點上諸如文件、目錄和腳本項目的訪問權限。該文件的第一段非注釋部分如下: 



Option Indexes Includes ExecCGI FollowSymLink 

AllowOverride None 

Order allow , deny 

allow from all 




大家應該注意到,這一個部分是以開始,以結束的。這表示在其中間的部分都是針對指定目錄��“/home/httpd/html”而言的。 

1.Option命令有很多的參數,各個參數的意義如下所示: 

All 準許以下所有功能(MultiViews除外); 

MultiViews 準許內容協商的Multiviews; 

Indexes 若該目錄下無index文件,則準許顯示 

該目錄下的文件以供選擇; 

IncludesNOEXEC 準許SSI(Server-side Includes),但不可 

使用#exec和#include功能; 

Includes 準許SSI; 

FollowSymLinks 準許符號鏈接到其他目錄; 

ExecCGI 準許該目錄下可以使用CGI。 




2.而AllowOverride命令則是用來決定是否準許在“access.conf”文件中設定的權限是否可以被在文件“.htaccess”中設定的權限覆蓋。它有兩個參數: 

All 準許覆蓋; 

None 不準許覆蓋。 




3.Order命令:用來設定誰能從這個服務器取得控制。它也有兩個參數: 

allow 可以取得控制; 

deny 禁止取得控制。 




現在我們一起來看看關于目錄“/home/httpd/html”的設置的含義:它使得這個目錄,如果不存在index.htm文件時,列出目錄信息以供選擇,準許SSI,允許執行CGI程序,開啟了動態連接。它不允許再使用在文件“.htaccess”中設定來覆蓋這里所設置的權限。使所有的人都可以取得控制。 

該文件的第二段非注釋部分如下: 



Option ExecCGI 

AllowOverride None 






這個表示目錄“/home/httpd/cgi”的設置為,當前目錄下可以執行CGI程序。不允許再使用在文件“.htaccess”中設定來覆蓋這里所設置的權限。 

需要說明的是,不同的LINUX系統中,可以在這個文件中看到的信息不完全相同,但是根據這里給出的信息,大家可以參照命令的解釋自行理解文件中的設置,以及根據自己的需要進行相應的修改。 

4.4 使新的配置生效 

在上面,我們可能已經根據新的需求更改了相應的配置選項,如果我們要 

使得這個新的配置立即生效。我們就必須重新啟動WEB服務進程。在LINUX中,我們可以十分方便地使用命令行來使得WEB服務進程重啟。 

/etc/rc.d/init.d/httpd restart 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邢台市| 陵川县| 龙山县| 琼海市| 翁牛特旗| 双辽市| 纳雍县| 南岸区| 开封市| 玛曲县| 沂水县| 南城县| 沅陵县| 故城县| 连城县| 万州区| 莱阳市| 余庆县| 会宁县| 秭归县| 庆云县| 德格县| 临湘市| 崇仁县| 江门市| 漳浦县| 右玉县| 长兴县| 马尔康县| 鲜城| 天峨县| 迁安市| 调兵山市| 阳东县| 巧家县| 神木县| 西华县| 呼伦贝尔市| 留坝县| 抚远县| 土默特右旗|