RedHatLinux网络服务器构架实务(一)
RedHatLinux网络服务器构架实务(一),RedHatLinux网络服务器构架实务(一)
前言
这里我将说明本文档的书写动机、配置目标、主要内容、遵循原则和使用说明。
我主要的从事领域是网络开发,主要采用的技术方案是FreeBSD/Linux+MySQL/Oracle+JavaBean/EJB+Jsp,也就是所说的四层结构(也有人认为是三层结构,但在J2EE中添加了界面层的概念)。项目开发过程中,常常需要进行服务器的构架,每次配置完毕我都会写一份简单的配置文档作为项目技术文档的一部分。这份文档是我一次次配置的结晶,我将构建网路服务器常用的部分写进了本文档,其一可以作为初学者的安装向导,其二也可以听取大家的意见和建议,使之更加严谨和完善。
本文档的目标是构架一个比较规范的RedHat开发服务器作为项目的开发环境。本文档当前共十七个步骤,简明而全面的介绍了DNS、FTP、 MySQL、Apache 、JVM、 Resin、 PHP等服务器的配置办法。
下面是我书写本文档所遵循的几个原则:
1、力求简明:去除任何多余的步骤;让命令说话,只加必要的注释,这样方便大家作为配置清单使用。本文档主要告诉读者如何去做,很少说明为什么这样做(这一点在本版本中有所改善),但需要注意的是,如果您忽略了其中的任何一步都可能导致后面出错;
2、系统全面:步骤贯穿从安装操作系统到配置完成的全过程,初学者一步一步照做即可;服务器的配置是一个系统的过程,很多说明文档只是说明某几个软件的配置方法,没有统筹兼顾,所以照搬往往失败;
3、力求严谨:这是我的一个目标,也是我发布原因之一,当然这需要大家的检验才能实现;
4、保持最新:包括操作系统在内,所有的软件都是截止到文档发布日的最新版本,如果有新的软件版本出现,我也会努力做到及时更新;
5、精选软件:文中提及的软件都是大家所熟悉的,只有两个需要说明。其一:为什么不选择FreeBSD而用Redhat?FreeBSD可谓是Intel平台上最好的网络操作系统,但它对JAVA(尤其是新版本的JDK)的支持很差,我曾在较长一段时间内采用FreeBSD作为JAVA开发平台,然而由于SUN并没有发布FreeBSD上的JDK,所以经常造成系统崩溃,已经是多次的经历了;为什么不用Tomcat而使用Resin?虽然Tomcat是Apache组织的一个项目,虽然它也在不断完善起来,但较之Resin还是有一定的差距;Resin在中文支持、执行效率、可定制性、升级速度、支持J2EE等方面都有不俗的表现,也是我个人已经体会到的;虽然我怀疑它在高端应用、系统负载等方面的性能,但应付中小型的Web项目方面应该是绰绰有余的;
6、侧重JSP:以搭建JSP开发环境为主,可以作为JSP初学者的服务器配置手册:其一:RH7.2增强了多语言的支持,如果你在安装的过程中选择语言时选择了i18n的简体中文包,加上Resin对中文的良好支持,你无需声明Content-Type(任何方式的声明都不需要),中文将自动支持,这一点文档中也已说明;其二:提供了Resin连接池的配置方法和调用方法,并提供了一个用于数据库连接和处理的组件;其三:提供了添加一个JSP虚拟主机的详细方法,从DNS FTP APACHE到Resin全面讲述;其四:指出了JDBC2.0的支持办法,并提供代码进行测试;
7、编译安装:软件全部编译安装,有益于系统可定制性和系统稳定性;
8、目标读者:Linux初学者的配置向导和中高级读者的参考;
9、配置目标:本文档当前最适合作为企业内部开发服务器的配置手册,如果作为Internet服务器,需要考虑的安全因素还很多,最起码不能全部安装,也不需要安装X server,Internet 服务器不仅需要我文档中提及的功能,更需要一个简洁安全的系统;
10、功能清晰:我将服务器定位在一个DNS+FTP+MySQL+Apache+Resin+Php构架的Web开发服务器,而将可有可无的服务去掉。所以,文档中没有提及QMAIL、ORACLE和ASP、FrontPage扩展等配置方法。除了功能的分离和读者的需求之外,Oracle的最佳运行平台是SUSE Linux,ASP的最佳运行平台是NT,至于Qmail,后续版本可以增加进去;
以下是本文档的使用说明:
1、颜色说明:
深蓝色: 在原文文档中修改的或者添加的部分
深绿色: 我的注释
2、符号说明
#: 系统或者软件配置文档中原有的注释;
##: 我为随后段落做的说明
//: 我的行末说明
/*…*/:篇幅较长的说明
3、命令说明:
我习惯使用vi来表示编辑一个文件,如果不喜欢使用这个工具,你完全可以使用Advanced Editor之类的可视化编辑器或者mc等其他命令。
偶尔我会在命令之前加上shell>表示这是一个命令,以与文件内容区别开来,但这个版本是中文的,所以我一般不