当前位置:web 服务器 > Apache >>

apache+resin+pureftp的虚拟主机和负载均衡

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 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

  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

  ........

  ....

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

  

上一个:配置FreeBSD内核
下一个:Linux下压缩,解压缩RAR包

更多Apache疑问解答:
为什么配置完php之后apache重启就启动不了
php环境搭建 windows7下如何手动搭建php环境,Apache+php+Mysql
我搭建了apache和mysql还有php。我编了一个脚本
APMServ搭建的apache+php环境问题
目前apache最新版本是?可以兼容php5.3.6和mysql 5.5.11.7吗
Apache PHP Mysql 各自的功能是什么?配合在一起各自如何分工?请用形象的比喻说明下
怎么能把php的服务器端apache配置成https?谢谢您了。
靠配置apache和php的环境!愁死了!照网上说的一样做可是还不行!我的是php-5.2.17 Apache2.2....
我的apache2.2.19也是加载不了PHP,显示不能加载D:/php/php5apache2_2.dll
win7 home basic家庭版 php+mysql+apache
apache mysql mysql 配置服务器 php页面显示一片空白 测试页面访问正常 权限apache正确 能显示php文件html
apache为什么能解释php代码
如何把jsp网站放到apache上
关于apache poi 中excel 样式的问题
javaWeb工程提示:org.apache.jasper.JasperException: Unable to compile class for JSP:
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,