<!-- 正文begin -->
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 <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个可以作为一个默认的选择来考虑。
声明: 写文章的时候,参考很多网友资料,如有雷同,不一定纯属巧合。 以上过程,都是本人亲自测试和使用,但也难保证有书写遗漏,欢迎指出。 本着自由、共享的精神,网友可以任意转贴,转贴时请注明作者、出处。 |
|
相关推荐
4 同时集成最新版本的wdcp服务器/虚拟主机管理系统,wdcp (WDlinux Control Panel)是一套Linux服务器/虚拟主机管理系统,可通过web界面对服务器进行日常的管理和维护,省去通过终端输命令的烦琐操作和难度,更是降低...
在标签中提到了“mysql创建数据库”和“SQL操作”,这表明在集成PureFTP和MySQL之前,需要先在MySQL中创建一个用于存储FTP用户信息的数据库和相关表。通常,这涉及到以下步骤: 1. 登录MySQL:`mysql -u root -p` 2...
OpenLDAP是一个开源的LDAP实现,常用于存储和管理用户身份信息,提供集中式的认证和授权服务。将PureFTPd与OpenLDAP集成,可以实现更高效、安全的用户管理,比如批量添加、删除或修改FTP用户的账号信息。 这个...
在互联网服务领域,FTP(File Transfer Protocol)作为一项历史悠久的文件传输协议,一直被广泛用于网站内容的上传和下载。Pure-FTPd是一款轻量级、安全且易于管理的FTP服务器软件,它支持多种认证方式,其中包括...
"开源软件"标签意味着这款工具遵循某种开源许可证,如GPL、MIT或Apache等,允许用户查看并修改其源代码。开源软件通常拥有活跃的开发者社区,能持续改进和更新,同时也为用户提供了一定程度的透明度和控制权。 **...
管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: ...
在Linux系统中,有许多FTP服务器软件可供选择,如WU-FTP、ProFTP、PureFTP和vsFTP。其中,vsFTP因其安全性、效率和稳定性而备受推崇。 【vsFTP简介】 vsFTP全称为“Very Secure FTP Daemon”,它是一款遵循GPL协议...
4. 强大的日志和监控:提供详细的传输日志和活动监控,帮助用户追踪问题和优化使用。 尽管没有列出具体的子文件,通常FTP软件的压缩包内可能包含以下组件: 1. 安装程序:用于在用户计算机上安装WebPureFTP0.1的...
使用patch命令给pure-ftpd的源码打上补丁,然后可打开src/libantixunlei.h文件修改“是否屏蔽IP”和“屏蔽IP的时间”两个选项,这两个选项是在编译时确定的,不能通过启动参数更改。最后按照正常的编译步骤编译并...
- **监控系统**:通过学习,能熟练操作和维护公司的系统服务,为应对公司需求,独立搭建了新版本的Nagios监控服务器,并研究了Nagvis,提供3D视图以更清晰地了解服务器负载。 - **论坛搭建**:创建并发布了面向...
第5步,创建虚拟用户目录,根据前文提示,ftpvu1和ftpvu2的家目录分别是/var/ftp/virtual/ftpvu1和/var/ftp/virtual/ftpvu1,在开始启动vsFTPd服务器之前,应该先创建这两个目录: [root@localhost ~]#mkdir /var/...
6. **系统管理和运维**:员工在运维中心的角色中,负责维护公司的系统服务和监控网站架构,能处理网络服务相关故障,熟悉系统管理和监控工具,如PureFTP、PHP网站发布、Nagios监控服务器的搭建和Nagvis的使用。...
在IT行业中,FTP(File Transfer Protocol)是一种广泛用于在互联网上传输文件的协议。... 首先,要安装Pureftpd,你需要在你的Linux服务器上进入LNMP安装包的...记住,定期检查和更新安全配置是保持服务器安全的关键。
5. pureftp 和 vsftpd 都可以使用这种方法来解决 550 错误的问题。 6. Linux 系统的语言环境可以通过更改 /etc/sysconfig/i18n 文件来实现。 7. 语言编码的问题可以通过编辑 FTP 服务器的源代码来解决。 8. 上传...
docker-pure-ftpd:Docker Pure-ftpd服务器
具有MySQL,TLS,配额,带宽控制和被动模式的Pure-ftpd 用法 创建一个MySQL容器并导入pureftp.sql文件以创建数据库 将用户插入先前创建的数据库 使用以下配置运行容器: Docker命令: docker run --name=pure-...
此配置文件可以用来替换系统默认的pure-ftp.conf文件
PureFTP GUI 这是使用Node.js制作的PureFTPd-MySQL服务器的简单前端(将其用于内部工具,但我认为基本版本足以供个人使用)。 管理控制面板基于ThemeKit(Bootstrap 4管理面板),可在以下位置找到: : 。 随时更改...