分享
 
 
 

A+R+P的虚拟主机和负载均衡

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

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

<VirtualHost 211.11.11.11:80>

ServerAdmin peng.zhang@bj.china.com

DocumentRoot /data/web/xcity

ServerName xcity.chinaunix.com

ErrorLog logs/xcity.chinaunix.com-error_log

CustomLog logs/xcity.chinaunix.com-access_log common

</VirtualHost>

<VirtualHost 211.11.11.11:80>

ServerAdmin peng.zhang@bj.china.com

DocumentRoot /data/web/sports

ServerName sports.chinaunix.com

ErrorLog logs/sports.chinaunix.com-error_log

CustomLog logs/sports.chinaunix.com-access_log common

</VirtualHost>

........

....

# 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

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

<cluster>

<srun id="a" host="127.0.0.1" port="6801" index="1"/>

<srun id="b" host="127.0.0.1" port="6802" index="2"/>

<srun id="c" host="127.0.0.1" port="6803" index="3"/>

<srun id="d" host="127.0.0.1" port="6804" index="4"/>

</cluster>

---注解:

(这里面,我用了系统本身的127.0.0.1,绑定了4个端口做伏在均衡。还可以用不同的ip地址和同一端口,来作。例如:

<cluster>

<srun id="a" host="211.11.11.11" port="6802" index="1"/>

<srun id="b" host="211.11.11.12" port="6802" index="2"/>

<srun id="c" host="211.11.11.13" port="6802" index="3"/>

<srun id="d" host="211.11.11.14" port="6802" index="4"/>

</cluster>

还有些人,喜欢在apache中设置每一个java进程服务一个虚拟,这里我们不推荐,这样做,就会失去引擎本身的意义。)

<!-- configures the default host, matching any host name -->

<host id='xcity.chinaunix.com'>

<document-directory>/data/web/xcity</document-directory>

<!-- configures the root web-app -->

<web-app id='/'>

<!-- adds xsl to the search path -->

<class-loader>

<simple-loader path="$host-root/xsl"/>

</class-loader>

<servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>

</web-app>

</host>

<host id='sports.chinaunix.com'>

<document-directory>/opt/web/sports</document-directory>

<!-- configures the root web-app -->

<web-app id='/'>

<!-- adds xsl to the search path -->

<class-loader>

<simple-loader path="$host-root/xsl"/>

</class-loader>

<servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>

</web-app>

</host>

........

....

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

---注:这里面是基于域名的虚拟主机,如果是针对ip的虚拟主机,在<host id='*.*.*.*'>中,就应该是对应虚拟主机的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 <login> [-f <passwd file>] [-m]

*更改拥护密码:

# pure-pw passwd <login> [-f <passwd file>] [-m]

*查看用户详细内容:

# pure-pw show <login> [-f <passwd file>]

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

# pure-pw mkdb [<puredb database file> [-f <passwd file>]]

*列出所有用户:

# pure-pw list [-f <passwd file>]

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个可以作为一个默认的选择来考虑。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有