国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

萬能服務(wù)器學(xué)習(xí)筆記

萬能WEB 服務(wù)器整合筆記一環(huán)境:Windows 7/windows server 2008Jdk (java_ee_sdk-6u1-jdk-windows.exe)Tomcat (apache to

萬能WEB 服務(wù)器整合筆記

一環(huán)境:

Windows 7/windows server 2008

Jdk (java_ee_sdk-6u1-jdk-windows.exe)

Tomcat (apache tomcat6.0.18.ZIP)(免安裝包,只需配置環(huán)境變量) Apache (httpd-2.2.17-win32-x86-no_ssl.msi)

Jk (mod_jk-1.2.31-httpd-2.2.3.so)(同時下載相同jk 版本的source 文件) Jk 的源文件(tomcat-connectors-1.2.31-src.zip )

二首要工作

1. 安裝JDK ,并配置環(huán)境變量(path= java_homebin;java_homejrebin; classpath=java_homelibdt.jar; java_homelibtools.jar)

2. 安裝tomcat 。解壓apache tomcat6.0.18.ZIP 到安裝目錄,配置環(huán)境變量(classpath= tomcat_homebin;)

3. 安裝apache

安裝完后分別測試,確保tomcat 、apache 都能正常運行。

三 JSP 的整合

一 tomcat jk apache 整合

(以我的安裝目錄為例來講。Apache :D:Apache2.2 Tomcat :D:apache-tomcat-6.0.18) 步驟:

1. 分別解壓jk 的安裝包和資源包,將安裝包下的xxx.so 文件重命名為mod_jd.so并復(fù)制到D:Apache2.2manual文件夾中。將資源包下面conf 文件夾下面的httpd-jk.conf 、worker.properties 文件復(fù)制到D:Apache2.2conf文件夾中。

2. 打開D:Apache2.2conf 目錄下的apache 配置文件httpd.conf ,在文件中找到Include conf/extra/httpd-vhosts.conf 代碼,并將其前面的注釋去掉(去掉#)。

3. 打開D:Apache2.2confextra目錄下的httpd-vhosts.conf 文件,在文件中找到NameVirtualHost *:80代碼,然后在其上面一行添加代碼:Include conf/httpd-jk.conf(既把這個文件加載進(jìn)去) 。再在該文件的最后添加一個VirtualHost ,代碼如下:

ServerAdmin #可以隨便寫

DocumentRoot "C:/www/zcglxt" #工程目錄

ServerName #訪問站點的域名

ServerAlias 172.31.10.168 #域名別名

ErrorLog "logs/dummy-host2.storm.com-error.log" #日志文件

CustomLog "logs/dummy-host2.storm.com-access.log" common #日志文件 # All requests go to tomcat1 by default

JkMount /* tomcat1 #tomcat1是隨后workers.properties 文件中的一實例 # JkMount /* tomcat1 表示把所有請求都拋給tomcat1處理

# Serve html, jpg and gif using httpd

,

JkUnMount /*.html tomcat1

# JkUnMount /*.html表示所有的.html 都不拋給tomcat1, 由Apache 自己處理。

JkUnMount /*.jpg tomcat1 JkUnMount /*.gif tomcat1

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

4. 打開D:Apache2.2conf中的workers.properyies 文件,在第一行未注釋的代碼前面添加

如下代碼:worker.list=tomcat1

worker.tomcat1.type=ajp13

worker.tomcat1.host=localhost

worker.tomcat1.port=8009

5. 打開D:apache-tomcat-6.0.18conf目錄下的server.xml 文件,在后面再添加一個虛擬機(jī):

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

6. 修改主機(jī)映射文件:用文本編輯器打開C:WindowsSystem32driversetc中的hosts 文件,添加映射:127.0.0.1 www.zcglxt.com (這樣做就可以用域名 www.zcglxt.com 來訪問站點)

7. 在c:wwwzcglxt目錄下放一個web 工程(至少包含一個.jsp 和一個.html 文件),分別用、http://www.zcglxt.com:8080 訪問.jsp,.html 頁面。只啟動apache 時,只可以訪問.html 文件,訪問.jsp 文件時會報503錯誤,這是合理的的。同時啟動apache 和tomcat ,所有文件都能訪問,且用80端口和8080端口訪問的頁面顯示的效果應(yīng)該是一樣的。

注釋及注意事項

1:

在配置過程中httpd-jk.conf 文件沒做任何修改,這是因為我們在把jk 文件拷貝到

D:Apache2.2manual文件中時把名字修改成了:mod_jk.conf .

Httpd-jk.conf 中的主要代碼如下:

LoadModule jk_module modules/mod_jk.so #加載mod_jk.so

JkWorkersFile conf/workers.properties #加載workers.properties

# Our JK error log

# You can (and should) use rotatelogs here

JkLogFile logs/mod_jk.log #添加日志文件,便于排錯

# Our JK log level (trace,debug,info,warn,error)

,

JkLogLevel info

# Our JK shared memory file

JkShmFile logs/mod_jk.shm

2.

Workers.properties 文件中的worker 是用來連接tomcat 和apache 通信的中間件,上面配置了一個實例tomcat1:

worker.list=tomcat1

worker.tomcat1.type=ajp13

worker.tomcat1.host=localhost

worker.tomcat1.port=8009

ajp 是tomcat 與apache 通信的協(xié)議,13是版本號。localhost 表示與本機(jī)的tomcat 通信,可以設(shè)成具體的ip 地址。8009是tomcat 中ajp 協(xié)議的默認(rèn)端口。這個可以在tomcat 的配置文件server.xml 文件中看到。這兩處的端口必須一致。

3

在配置tomcat 中的虛擬機(jī)時, 中的path 必須是path=””, 而不能是path=”/”, 否則會報錯。

4. 配置apache 中的虛擬機(jī)時,為了安全,官方建議先默認(rèn)把所有請求都拋給tomcat ,然后再用JkUnMount 排除需要由apache 助理的文件。其次在配置apache 中的虛擬機(jī)時還必須配置

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

這段是用于權(quán)限控制,如果不加,則會報403錯:you don’t hava permission to access/on this server 。

二. 負(fù)載均衡

(前提:apache 與tomcat 已整合成功)

步驟:

1. 打開D:Apache2.2conf中的workers.properties 文件 ,找到代碼段:

將8109改為8009,并且在后面再添加一行代碼變?yōu)椋?/p>

worker.balancer.balance_workers=node1

worker.node1.reference=worker.template

worker.node1.host=localhost

worker.node1.port=8009

worker.tomcat1.lbfactor =1

繼續(xù)往下找到node2代碼段:

,

worker.balancer.balance_workers=node2

worker.node2.reference=worker.template

worker.node2.host=localhost

worker.node2.port=8209

并將其代碼段改為:

worker.balancer.balance_workers=node2

worker.node2.reference=worker.template

worker.node2.host=172.31.8.58

worker.node2.port=8009

worker.node2.lbfactor =1

2. 在apache 中添加或者修改原有虛擬主機(jī)(tomcat 中的虛擬機(jī)也要做相應(yīng)修改或添加, 這

里略)

ServerAdmin webmaster@dummy-host2.storm.com

DocumentRoot "C:/www/test"

ServerName www.test.com

ServerAlias 172.31.10.168

ErrorLog "logs/dummy-www.test.com.log"

CustomLog "logs/dummy-www.test.com.log-access.log" common

# All requests go to worker1 by default

JkMount /* balancer

#balancer也是一個workers 實例,但它的type 不是ajb, 而是lb 。(別急下面會講到。) # Serve html, jpg and gif using httpd

JkUnMount /*.html balancer

JkUnMount /*.jpg balancer

JkUnMount /*.gif balancer

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

3. 同時啟動本機(jī)的tomcat 和173.31.8.58上的tomcat ,用(需要在hosts 中

配置映射)訪問站點,可以看到程序在本機(jī)tomcat 和172.31.8.58上來回執(zhí)行。

注釋及注意事項。在默認(rèn)的worders.properties 文件中已經(jīng)實例化了一個worker (balancer )用來實現(xiàn)負(fù)載均衡。主要代碼如下:

worker.list=balancer

worker.balancer.type=lb (類型為lb, )

worker.balancer.balance_workers=node1 (參與實現(xiàn)負(fù)載的成員node1)

worker.node1.reference=worker.template

worker.node1.host=localhost (node1所在主機(jī))

worker.node1.port=8009

worker.balancer.balance_workers=node2(參與實現(xiàn)負(fù)載的成員node2)

,

worker.node2.reference=worker.template (采用繼承來定義成員的type 等屬性) worker.node2.host=172.31.8.58 (node2所在主機(jī))

worker.node2.port=8009

worker.template.type=ajp13 (type 為ajp13, 既用來處理請求的workers )

worker.template.socket_keepalive=true

worker.template.ping_mode=A

… …

上面的node1,node2 都是具體的workers, 與整合例子中的tomcat1是一種性質(zhì)的。他們可以在開始就聲明 :worker.list=node1,node2(官方文檔上說多個worker 可以用“,”隔開,但是我實際用的時候報錯,還是得分開寫worker.list=node1 worker.list=node2),只是當(dāng)這些worker 只用與負(fù)載均衡時,則可以不聲明,直接這樣用:worker.balancer.balance_workers=node2。

worker.node2.reference=worker.template,這是種類似繼承的用法,把其他的worker 的屬性都配在worker.template 中,

如:worker.template.type=ajp13 worker.template.socket_keepalive=true

worker.template.ping_mode=A

node2一旦調(diào)用:worker.node2.reference=worker.template,它就具有了上面的上屬性。這樣便于維護(hù),修改。

上面的worker.node2.lbfactor =1 表示加載因子,如果兩個節(jié)點都是1,則他們將按1:1獲得請求量,你可以按需求修改。

你可以根據(jù)自己需求來添加和減少參與負(fù)載均衡的 tomcat 實例個數(shù)。

三 tomcat 集群

(前提 負(fù)載均衡已經(jīng)成功)

集群其實就是在負(fù)載均衡的基礎(chǔ)上實現(xiàn)同一session 的復(fù)制,即當(dāng)我在tomcatA 上建立了session ,如果tomcatA 突然故障或者因為負(fù)載均衡的原因,我發(fā)的第二次數(shù)據(jù)跳到了tomcatB 上,這時候我還能用在tomcatA 上建立的session id與之會話 而不是重先在tomcatB 上建立新的session id 。

如果只是希望某個工程實現(xiàn)session 復(fù)制,只需在該工程的web.xml 文件中節(jié)點中添加即可。

如果希望tomcat 下所有的工程都實現(xiàn)session 復(fù)制,則可以修改tomcat 安裝目錄下conf 文件夾中的context.xml 文件。將其中的改為

JK apache tomcat(負(fù)載均衡、集群、more web per IP)綜合例子

1環(huán)境

三臺PC

PCA(ip:172.31.14.85 安裝apache ,tomcat 。 路徑:apache :D:Apache2.2 tomcat :

,

D:apache-tomcat-6.0.18))

PCB(ip:172.31.8.58 僅安裝tomcat 路徑tomcat :D:apache-tomcat-6.0.18)

PCC(ip:172.31.10.168 只用于訪問站點 )

(這些IP 地址是我實驗時的真實地址,你可以自行修改,但切記要保證網(wǎng)絡(luò)暢通): 2 步驟

PCA 上:

a. 把jk 資源文件包里的workers.properties 、httpd-jk.conf 文件拷貝到D:Apache2.2conf

文件夾中,并對worker.properties 文件 node1和nodel2的部分屬性進(jìn)行修改:

worker.balancer.balance_workers=node1

worker.node1.reference=worker.template

worker.node1.host=localhost

worker.node1.port=8009

worker.balancer.balance_workers=node2

worker.node2.reference=worker.template

worker.node2.host=172.31.8.58

worker.node2.port=8009

worker.node2.lbfactor =1

b. 把mod_jk-1.2.31-httpd-2.2.3.so文件放進(jìn)D:Apache2.2manual文件夾,并改名為mod_jk.so。 c. 打開D:Apache2.2conf 下的httpd.conf ,去掉Include conf/extra/httpd-vhosts.conf 代碼的注釋(去掉#)。

d. 打開D:Apache2.2confextra下的httpd-vhosts.conf 文件,找到NameVirtualHost *:80代碼,在其前一行添加代碼:Include conf/httpd-jk.conf

e .繼續(xù) 在httpd-vhosts.conf 文件的末尾添加虛擬機(jī), 代碼如下:

ServerAdmin webmaster@dummy-host2.storm.com

DocumentRoot "C:/www/zcglxt"

ServerName www.zcglxt.com

ErrorLog "logs/dummy-host2.storm.com-error.log"

CustomLog "logs/dummy-host2.storm.com-access.log" common

# All requests go to worker1 by default

JkMount /* balancer

# Serve html, jpg and gif using httpd

JkUnMount /*.html balancer

JkUnMount /*.jpg balancer

JkUnMount /*.gif balancer

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

,

ServerAdmin webmaster@dummy-host2.storm.com

DocumentRoot "C:/www/test"

ServerName www.test.com

ErrorLog "logs/dummy-www.test.com.log"

CustomLog "logs/dummy-www.test.com.log-access.log" common

# All requests go to worker1 by default

JkMount /* balancer

# Serve html, jpg and gif using httpd

JkUnMount /*.gif balancer

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

f. 打開D:apache-tomcat-6.0.18conf中的server.xml 文件,修改虛擬主機(jī):()

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

(apache 和tomcat 中的虛擬主機(jī)目錄要相同)

PCB 上的配置:

在這臺機(jī)子上只需配置tomcat 的虛擬機(jī)。(同PCA 中第f 步的配置完全一樣)

PCC 上的配置

這臺電腦主要是用來訪問站點,作測試用。用記事本打開本機(jī)

,

C:WindowsSystem32driversetc下的hosts 文件,在文中添加代碼

172.31.14.85 www.test.com

172.31.14.85 www.zcglxt.com

寫好兩個web 工程分別同時對應(yīng)地放到apache 和tomcat 的虛擬機(jī)目錄中。在pcc 中打開IE 用www.test.comm 、 、:8080 、 :8080訪問站點,并觀看PCA 和PCB 上的tomcat 后臺信息。

總結(jié):

apache 與tomcat 通過 ajp 協(xié)議通信,它通過 JkUnMount 和

JkMount 來決定那種類型的數(shù)據(jù)請求由自己處理,哪種需要tomcat 來處理。如果不做負(fù)載均衡,只要把數(shù)據(jù)拋給ajp 類型的worker ,直接由worker 自己來處理。如果需要做負(fù)載均衡,則apache 需要把數(shù)據(jù)交給lb 類型的worker ,再由lb 類型的worker 將數(shù)據(jù)請求按平衡加載因子(lbfactor )比例分發(fā)給參與負(fù)載均衡的ajp 類型的worker 來處理。要實現(xiàn)集群,也就是要保證session 能夠共享,如果只想指定的web 工程有需要session 共享,則只需將該工程下的web.xml 文件中添加即可,如果想tomcat 下的所有工程都session 共享,則可以只修改tomcat 的conf 文件夾下的context.conf 文件,將其中的改為,而不需再去一一修改具體的工程。

,

IIS apache

在apache 的conf 中 打開代理:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_http_module modules/mod_proxy_http.so

在虛擬機(jī)中配置:

#ProxyPreserveHost On

ServerAdmin webmaster@dummy-host2.storm.com DocumentRoot "F:/www/asp2"

ServerName www.aspa.com

ServerAlias 172.31.10.168

ErrorLog "logs/www.asp.com.log"

CustomLog "logs/www.asp.com.log-access.log" common

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

,

ProxyPass / http://www.aspa.com:8081/

ProxyPassReverse / http://www.aspa.com:8081/

DirectoryIndex index.asp default.asp

標(biāo)簽: