歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

apache+resin 的虛擬主機和負載均衡


1、前言

apache+resin來做想來大家都比較熟悉了,一般的配置都是很熟悉的了,我查看了一些論壇上的文章,這方便的文章比較多。在這裡,我只要寫寫apache+resin實現獨立的虛擬主機和resin自帶的負載均衡。

2、系統和環境:

redhat9 and solaris9

httpd-2.50

resin-3.06

pure-ftpd-1.0.17a.tar.gz

3、安裝軟件:

3.1、安裝apache:

# tar zxvf httpd-2.49.tar.gz

# cd httpd-2.49

# ./configure --prefix=/usr/local/apache2 --enable-so --with-mpm=worker

# make

# make install

3.2、安裝resin:

# tar zxvf resin-3.06.tar.gz

# cd resin03.06

# ./configure --prefix=/usr/local/resin --with-apxs=/usr/local/apache2/bin/apxs

# make

# make install

3.3、安裝pureftp

# tar zxvf pure-ftpd-1.0.17a.tar.gz

# cd pure-ftpd-1.0.17a

# ./configure --prefix=/usr/local/pureftpd

--without-inetd --with-puredb

--with-cookie --with-throttling

--with-ratios --with-quotas

--with-ftpwho --with-largefile

--with-welcomemsg

# make

# make install

# mkdir /usr/local/pureftpd/etc

4、配置軟件:

目的:用apache和resin做基於域名的虛擬主機,啟用resin自身的負載均衡的引擎。resin的負載均衡引擎實際上是可以啟動多個java響應進程,通過內部機制來進行負載均衡。

4.1、配置apache:

# vi /usr/local/apache2/conf/httpd.conf

---------------------------------------

DirctoryIndex index.html index.jsp

AddDefaultCharset Off

User nobody

Group nobody

NamevirtualHost 211.11.11.11

;

ServerAdmin [email protected]

DocumentRoot /data/web/xcity

ServerName xcity.chinaunix.com

ErrorLog logs/xcity.chinaunix.com-error_log

CustomLog logs/xcity.chinaunix.com-access_log common

;

;

ServerAdmin [email protected]

DocumentRoot /data/web/sports

ServerName sports.chinaunix.com

ErrorLog logs/sports.chinaunix.com-error_log

CustomLog logs/sports.chinaunix.com-access_log common

;

........

....

# mod_caucho Resin Configuration

#

LoadModule caucho_module /usr/local/apache2/modules/mod_caucho.so

ResinConfigServer 127.0.0.1

---------------------------------------

4.2、配置resin:

# vi /usr/local/resin/conf/resin.conf

----------------------------------------

;

;

;

;

;

;

---注解:

(這裡面,我用了系統本身的127.0.0.1,綁定了4個端口做伏在均衡。還可以用不同的ip地址和同一端口,來作。例如:

;

;

;

;

;

;

還有些人,喜歡在apache中設置每一個java進程服務一個虛擬,這裡我們不推薦,這樣做,就會失去引擎本身的意義。)

;

;

;/data/web/xcity;

;

;

;

;

;

;

;

;

;

;

;/opt/web/sports;

;

;

;

;

;

;

;

;

;

........

....

--------------------------------------------------

---注:這裡面是基於域名的虛擬主機,如果是針對ip的虛擬主機,在;中,就應該是對應虛擬主機的ip了。也就是說,apache和resin關於虛擬主機的地方要保持一致。還有,在resin中,對於每個虛擬主機所用的web-app目錄,其實是相對於她的家目錄下的/目錄。

4.3、配置pureftp

1、添加用戶:

# pure-pw useradd xcityr -f /usr/local/pureftp/etc/ftppasswd -u nobody -g nobody -d /data/web/xcity -m

# pure-pw useradd sports -f /usr/local/pureftp/etc/ftppasswd -u nobody -g nobody -d /data/web/sports -m

---注:xcity :ftp用戶

-f ftppasswd:存放用戶密碼信息的文件

-u 用戶uid 一般是系統的一個用戶,就是你的ftp用戶的家目錄的用戶

-g 用戶組id

-d 鎖定用戶在家目錄

-m 使pureftp.d.passwd寫進pureftpd.pdb,使更改生效。

*修改用戶:

# pure-pw usermod --help

*刪除用戶:

# pure-pw userdel ; [-f ;] [-m]

*更改擁護密碼:

# pure-pw passwd ; [-f ;] [-m]

*查看用戶詳細內容:

# pure-pw show ; [-f ;]

*生成db文件,使密碼生效:

# pure-pw mkdb [; [-f ;]]

*列出所有用戶:

# pure-pw list [-f ;]

5、啟動腳本:

當系統在solaris下:

apache和resin的啟動腳本:

# vi /etc/rc2.d/S99webapp

-------------------------------

/usr/local/resin/bin/httpd.sh -pid srun1.pid -server a start

/usr/local/resin/bin/httpd.sh -pid srun2.pid -server b start

/usr/local/resin/bin/httpd.sh -pid srun3.pid -server c start

/usr/local/resin/bin/httpd.sh -pid srun4.pid -server d start

/usr/local/apache2/bin/apachectl start

--------------------------------

pureftp啟動腳本:

--------------------------------

#!/bin/sh

/usr/local/pureftpd/sbin/pure-ftpd -j -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb &

-----------------------------------

在linux下,直接放到響應的開機啟動等級目錄下就ok了。

6、總結

apache+resin應該是個很好的java應用平台了。實際使用中,還是有很多技巧。看了resin官方論壇的一些資料,說resin3.x以上的版本,對image和html的支持,比apache響應更快。我對此測試過,感覺還是有所欠缺。所以說,在大型一點的發布平台上,還是要apache和resin結合比較好。

對於resin的負載均衡使用上啟動的進程數,我認為還是要根據自己的機器實際情況來考慮的。少了達不到效果,多了會機器系統也是一個負載。個人認為,4個可以作為一個默認的選擇來考慮。

Copyright © Linux教程網 All Rights Reserved