> UserDir public_html
UserDir用于設定用戶個人主頁存放的目錄,默認為“public_html”目錄,例如有個用戶為ixdba,如果他的根目錄為/home/ixdba,那么他的默認主頁存放路徑為/home/ixdba/public_html。
AccessFileName .htaccess
定義每個用戶目錄下的訪問控制文件的文件名,默認為.htaccess,
TypesConfig conf/mime.types
TypesConfig用來定義在哪里查詢mime.types文件
HostnameLookups Off
用來指定apache在日志中記錄訪問端地址是ip還是域名,如果為Off,則記錄IP地址,如果是On,記錄域名信息,建議設置為Off。
ErrorLog logs/error_log
指定錯誤日志文件的位置
CustomLog logs/access_log common
指定apache訪問日志文件的位置和記錄日志的模式。
ServerTokens Full
這個指令定義包含在HTTP回應頭中的信息類型,默認為“Full”,表示在回應頭中將包含操作系統(tǒng)類型和編譯信息,可以設為Full|OS|Minor|Minimal|Major|Prod列各值中的一個,F(xiàn)ull包含的信息最多,而Prod最少。
ServerSignature On
此指令有3個選項,On、Off和Email,On選項表示在apache的出錯頁面會顯示apache版本以及加載的模塊信息,Email選項與On相同,但是還會多出一個包含管理員郵件地址的mailto連接。Off表示不顯示任何上面信息。
Alias /icons/ "/usr/local/apache2/icons/"
<Directory "/usr/local/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
上面這段信息是apache中對別名的設定,當訪問http://ip或域名/icons時,由于Alias的原因,apache不會去DocumentRoot指定的目錄查找文件,而是直接訪問/usr/local/apache2/icons 目錄下對應的文件信息。而<Directory>標簽就是對這個目錄權限的設定。
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
這段信息和上面的Alias設定類似,只不過這個是設置cgi腳本的執(zhí)行權限而已,apache默認在/usr/local/apache2/cgi-bin目錄下具有cgi腳本執(zhí)行權限。
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkMountFile /usr/local/apache2/conf/uriworkermap.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel info
JkLogStampformat "[%a %b %d %H:%M:%S %Y]"
上面這5行是對JK連接器屬性的設定,第一、二行指定Tomcat workers配置文件以及對網頁的過濾規(guī)則,第三行指定JK模塊的日志輸出文件,第四行指定日志輸出級別,最后一行指定日志輸出格式。
虛擬主機的設定
NameVirtualHost *
表示啟用虛擬主機,如果開啟虛擬主機,上面DocumentRoot指令指定的配置將失效,以虛擬主機中指定的DocumentRoot為主。
<VirtualHost *>
ServerAdmin webmaster@ixdba.net
DocumentRoot /webdata/www
ServerName 192.168.60.198
ErrorLog logs/error_log
CustomLog logs/access_log common
JkMountFile conf/uriworkermap.properties
</VirtualHost>
上面這段是添加一個虛擬主機,其實虛擬主機是通過不同的ServerName 來區(qū)分的,這里為了演示方便,使用IP代替域名。我們經常看到在一個web服務器上有很多個網站,并且每個站點都不相同,這就是通過虛擬主機技術實現(xiàn)的。
每個虛擬主機用<VirtualHost>標簽設定,各個字段含義如下:
ServerAdmin:表示虛擬主機的管理員郵件地址。
DocumentRoot:指定虛擬主機站點文件路徑。
ServerName:虛擬主機的站點域名
ErrorLog:指定虛擬主機站點錯誤日志輸出文件。
CustomLog:指定虛擬主機站點訪問日志輸出文件。
JkMountFile:指定對此虛擬主機的URL映射文件。
例如,我們要在一個服務器上建立3個網站,只需配置下面3個虛擬主機即可:
<VirtualHost *:80>
ServerAdmin webmaster_www@ixdba.net
DocumentRoot /webdata/html
ServerName www.ixdba.net
ErrorLog logs/www.error_log
CustomLog logs/www.access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster_bbs@ixdba.net
DocumentRoot /webdata/bbs
ServerName bbs.ixdba.net
ErrorLog logs/bbs.error_log
CustomLog logs/bbs.access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster_mail@ixdba.net
DocumentRoot /webdata/mail
ServerName mail.ixdba.net
ErrorLog logs/mail.error_log
CustomLog logs/mail.access_log common
</VirtualHost>
這樣,就建立了3個虛擬主機,對應的站點域名分別是www.ixdba.net、bbs.ixdba.net、mail.ixdba.net,接下來的工作就是將這3個站點域名對應的IP全部解析到一臺web服務器即可。
3.Tomcat的配置
。1)tomcat的目錄機構
在上面的操作中,Tomcat安裝在了/usr/local/tomcat5.5.12下,tomcat每個目錄的含義如表8.2所示:
表8.1
目錄名稱 目錄作用
bin 存放各種平臺下啟動和關閉Tomcat的腳本文件
comm 存在Tomcat服務器及所有的web應用程序可以訪問的JAR文件
conf 存放Tomcat的各種配置文件,最重要的是 server.xml和web.xml
logs 存放Tomcat日志文件
server 此目錄又包含lib和webapps 2個主要目錄,webapps存放Tomcat自帶的兩個WEB應用admin應用和manager應用,lib存放Tomcat服務器所需的各種JAR文件
shared 此目錄又包含lib目錄,lib目錄主要存放所有web應用都可以訪問的jar文件(但是不能被Tomcat服務器訪問)
webapps Tomcat的主要Web發(fā)布目錄,默認情況下把Web應用文件放于此目錄
work 存放JSP編譯后產生的class文件
(2)server.xml的配置
server.xml是tomcat的核心配置文件,為了支持與apache的整合,在tomcat中也需要配置虛擬主機,server.xml是一個有標簽組成的文本文件,找到默認的<Host>標簽,在此標簽結尾,也就是</Host>后面增加如下虛擬主機配置:
<Host name="192.168.60.198" debug="0" appBase="/webdata/www" unpackWARs="true">
<Context path="" docBase="" debug="1"/>
</Host>
其中:
l name:指定虛擬主機名字,這里為了演示方便,用IP代替。
l debug:指定日志輸出級別
l appBase:存放Web應用程序的基本目錄,可以是絕對路徑或相對于$CATALINA_HOME的目錄,默認是$CATALINA_HOME/webapps。
l unpackWARs:如果為true,則tomcat會自動將WAR文件解壓后運行,否則不解壓而直接從WAR文件中運行應用程序。
l autoDeploy:如果為true,表示Tomcat啟動時會自動發(fā)布appBase目錄下所有的Web應用(包括新加入的Web應用)
l path:表示此Web應用程序的url入口,如為“/jsp”,則請求的URL為http://localhost/jsp/
l docBase:指定此Web應用的絕對或相對路徑,也可以為WAR文件的路徑。
這樣tomcat的虛擬主機就創(chuàng)建完成了。
注意:tomcat的虛擬主機一定要和apache配置的虛擬主機指向同一個目錄,這里統(tǒng)一指向到/webdata/www目錄下,所以接下來只需在/webdata/www中放置jsp程序即可。
在server.xml中,還需要注意的幾個標簽有:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
這是tomcat對http訪問協(xié)議的設定,http默認的監(jiān)聽端口為8080,在apache和tomcat整合的配置中,是不需要開啟tomcat的http監(jiān)聽的,為了安全期間,建議注釋掉此標簽,關閉http默認的監(jiān)聽端口。
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
上面這段是tomcat對ajp13協(xié)議的設定,ajp13協(xié)議默認的監(jiān)聽端口為8009,整合apache和tomcat必須啟用該協(xié)議,JK模塊就是通過ajp協(xié)議實現(xiàn)apache和tomcat協(xié)調工作的。
(3)配置tomcat啟動腳本
Tomcat的bin目錄主要存放各種平臺下啟動和關閉tomcat的腳本文件,在linux下主要有catalina.sh、startup.sh和shutdown.sh 3個腳本,而startup.sh和shutdown.sh其實都用不同的參數(shù)調用了catalina.sh腳本。
Tomcat在啟動的時候會去查找jdk的安裝路徑,因此,我們需要配置系統(tǒng)環(huán)境變量,這里詳細講述下linux下環(huán)境變量的設定。
l /etc/profile:是配置系統(tǒng)全局環(huán)境變量,系統(tǒng)中所有應用都可以使用這個環(huán)境變量。
l ~/.bash_profile:是用戶環(huán)境變量,每個用戶可以通過配置這個文件而設定不同的環(huán)境變量。
針對java環(huán)境變量的設置,可以在/etc/profile中指定JAVA_HOME,也可以在啟動tomcat的用戶環(huán)境變量.bash_profile中指定JAVA_HOME,這里我們在catalina.sh腳本中指定java環(huán)境變量,編輯catalina.sh文件,添加如下內容:
# OS specific support. $var _must_ be set to either true or false.
JAVA_HOME=/usr/local/jdk1.6.0_07
export JAVA_HOME
cygwin=false
os400=false
上面加粗部分是新加內容,其它為catalina.sh文件原有內容。通過JAVA_HOME指定了JDK的安裝路徑,然后通過export設置生效。
4.測試apache與tomcat整合
到這里為止,apache與tomcat整合配置已經完畢了,接下來我們通過添加jsp程序來測試整合的結果,看是否達到了預期的效果。
這里我們將/usr/local/tomcat5.5.12/webapps/ROOT/目錄下的所有文件拷貝到/webdata/www下,然后啟動tomcat與apache服務,執(zhí)行步驟如下:
[root@localhost~]#cp –r /usr/local/tomcat5.5.12/webapps/ROOT/* /webdata/www
[root@localhost ~]# /usr/local/tomcat5.5.12/bin/startup.sh
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
啟動服務完畢,就可以訪問站點了,輸入http://192.168.60.198,如果能訪問到tomcat默認的jsp頁面,表示tomcat解析成功,接著,在/webdata/www下建立一個test.html的靜態(tài)頁面,內容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Administration</title>
</head>
<body>
apache and tomcat sussessful,
This is html pages!
</body>
</html>
通過訪問http://192.168.60.198/test.html,應該出現(xiàn):
apache and tomcat sussessful ,This is html pages!
則表示靜態(tài)頁面也可以正確解析。
由于tomcat也能處理靜態(tài)的頁面和圖片等資源文件,那么如何才能確定這些靜態(tài)資源文件都是由apache處理了呢,知道這個很重要,因為做apache和tomcat集成的主要原因就是為了實現(xiàn)動、靜資源分離處理。
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|