All right, waiting for you to die, I'll laugh ...
分类: 系统运维
2011-04-06 11:03:20
与 大多数商用应用服务器一样,如果您计划把WebSphere应用服务器(以下简称WAS)用于正式的生产环境或用于性能测试、生产前检验的测试环境,除了 简单地安装步骤外,您还需要做一些额外的检查、规划和配置,来确保您的WebSphere应用服务器环境安全稳定运行。 WebSphere应用服务器各个版本之间安装步骤差别不大,WAS V6.x版本比以前版本的安装配置步骤中多了创建概要文件的过程,本文举例的版本为V6.1。在阅读本文之前,推荐读者先了解安装WebSphere应用 服务器的大致过程或相关概念。对于WebSphere应用服务器各版本的具体安装步骤,请参照WebSphere应用服务器产品随机安装文档以及 WebSphere信息中心,DeveloperWorks上也有很多关于WAS环境搭建的参考文章,如:WAS5的安装及其常见问题、在WAS6.0 ND中实现集群等,见参考资源 。
|
在搭建准生产环境的过程中,好的准备是成功的一半,推荐逐条进行以下安装前准备工作。
WebSphere 应用服务器能否顺利安装成功首先取决于目标平台是否满足安装的软件和硬件条件。WebSphere应用服务器对硬件配置的要求主要体现在待部署平台的硬件 架构、CPU、内存和磁盘存储空间上,通常最低内存要求在512M以上,根据硬件平台、WebSphere应用服务器版本、组件的不同,要求的配置也会略 有区别,请参考WAS详细系统需求 。磁盘空间的分配请参见“2.4 确认磁盘空间是否满足要求”。
作 为一个成熟的商用应用服务器,WebSphere应用服务器会定期发布不同WAS版本(例如WAS V5.0, WAS V5.1, WAS6.0…)、组件(例如:Application Server, Edge Component)支持的操作系统版本信息。使用WebSphere服务器支持的操作系统平台,能确保应用服务器安装、使用过程中环境的正常稳定运行。 尤其要注意的是,如果操作系统平台不是IBM WebSphere应用服务器官方支持的平台,在WebSphere应用环境出现问题后则无法获得WebSphere应用服务器的售后支持,更谈不上解决 问题了。
例如,在笔者写这篇文章时,在x86芯片上,对于RedHat AS 4操作系统,如果要安装WebSphere应用服务器V6.1的Application Server组件,则要求的操作系统版本是Red Hat Enterprise Linux AS, Version 4 with Update 2。如果您的操作系统版本是Red Hat Enterprise Linux AS, Version 4,则还需要安装Update2,否则有可能遇到问题。
由于支持的操作系统版本是定期更新的,请在搭建WebSphere应用服务器环境前,参照系统详细需求去查看当前操作系统版本(版本要与网上列出的完全一致)是否满足WebSphere应用服务器要求。
在 安装WebSphere应用服务器过程中,创建概要文件这一步骤需要用户填入机器的主机名(如图1),并且,WAS运行时也需要用到主机名(Host Name)。主机名是WAS安装节点的物理机器的网络名,它必须解析到服务器上的物理网络节点。创建概要文件中WAS使用的主机名的值可以是全限定 DNS 主机名(例如: hosta.cn.ibm.com)、短主机名(例如:hosta),或甚至是数字 IP 地址(例如:192.168.1.3),但必须是WAS所在服务器实际配置的主机名。而且,当WAS配置完毕投入使用之后,不推荐更改您设定的主机名,即 使能改,过程也比较复杂。因此,根据实际经验,我们推荐用户在安装WebSphere应用服务器之前配置主机名。如果采用全限定 DNS 主机名或短主机名,可以通过hostname命令来查看当前系统的主机名。如果没有配置,则到hosts文件中添加相应的条目。
考虑硬盘空间分配时,在UNIX或Linux平台下可以用df –k 先查看各目录大小。如果是在生产环境上安装WebSphere应用服务器,一般要从以下几个方面来计算要预留的空间。
如要了解不同平台具体的磁盘空间要求,请参考WAS V6.1信息中心“为产品安装准备操作系统”一节的内容。
前 面提到WebSphere应用服务器对支持的操作系统版本有明确要求,除此之外,WAS信息中心还对特定的操作系统版本安装的包、内核参数等有特殊要求。 例如,对于RHEL AS4,信息中心中说明必须安装compat-libstdc++-33-3.2.3-47.3.ppc.rpm包(这是保持 C++ 运行时兼容性所必需的,供诸如 GSKit 的组件、Java 2 软件开发包(SDK)以及 Web 服务器插件使用)以及其他一些包。对于Linux、Solaris、HP等系统,还需要调整一些相应的内核参数。请参照请WAS V6.1信息中心“为产品安装准备操作系统”一节的内容。对于Solaris系统,需要调整的参数列表列举如下:
set shmsys:shminfo_shmmax = 4294967295 set shmsys:shminfo_shmseg = 1024 set shmsys:shminfo_shmmni = 1024 set semsys:seminfo_semaem = 16384 set semsys:seminfo_semmni = 1024 set semsys:seminfo_semmap = 1026 set semsys:seminfo_semmns = 16384 set semsys:seminfo_semmsl = 100 set semsys:seminfo_semopm = 100 set semsys:seminfo_semmnu = 2048 set semsys:seminfo_semume = 256 set msgsys:msginfo_msgmap = 1026 set msgsys:msginfo_msgmax = 65535 set rlim_fd_cur=1024 |
WAS 的安装可以使用人机交互的图形界面安装或批处理安装(称为静默安装,silent installation,预先写好响应文件,安装过程中不需要启动图形界面或者人机交互)。如果使用图形界面安装,在服务器是Linux/UNIX平台 时,我们通常没有机会直接使用服务器的显示屏/控制台,而是通过自己的机器telenet到服务器上去。这种命令行直接telnet的模式下,可能不支持 启动图形界面,需要用到Xmanager、X-Win32等支持X Window的工具软件。你可以在命令行下敲入命令xclock进行测试。如果出现如图2所示的图形显示,表明你能够在你的终端上启动图形界面。
WAS 是跨平台的产品,不同的UNIX、Linux、Windows平台、32位或者64位操作系统上,安装介质都是不一样的,而且产品中包含了 Application Server、Web Server、Edge Component等多种组件,当搭建WebSphere环境时,您需要从订购的WAS产品包(包括各个平台、组件的多张CD)中选择需要的安装介质。因 此,安装前我们需要根据安装的WAS组件、操作系统版本、操作系统位数,选择所需要的介质。例如,如果我们要在x86架构、64位(注意,这里的64位是 指操作系统是64位的)的Linux AS 4上安装WAS,就应该选择WebSphere Application Server for x86 64-bit Linux的安装介质;如果我们要安装IBM Http Server或者update installer,这两个组件都是在WebSphere Application Server Supplements CD中,同理,根据操作系统版本、位数、服务器的芯片,我们就可以选出所需要的介质了。如果WAS安装中需要打补丁,建议在安装WAS前提前下载这些补丁 以备安装过程中使用。具体内容在“打补丁”一节详述。
根 据实际应用场景的不同,我们需要决定WAS、Web 服务器分别装在哪些服务器上,如果需要配置集群环境,还需要考虑Deployment Manager、各个结点和集群成员都分部在哪些服务器上。例如,如果我们要配置一个集群环境,安装前,我们通常会先设计出如图3的一张拓扑结构图,以决 定安装中每台服务器上实际安装、配置的组件。例如,如图3所示,图中实线是运行时的请求流,虚线是WAS各组件间的控制流。我们可以看出,在hosta机 器上,应该安装WAS组件,并创建Deployment Manager、NodeA概要文件,配置集群成员C1和C2;在hostb机器上,应该安装WAS组件,创建NodeB概要文件,配置集群成员C3和 C4。在machine3机器上,应该安装IBM Http Server和Plug-in组件。其中,WAS集群的配置是非常方便的,可以在创建完概要文件之后灵活调整。
其他一些常见注意事项还包括权限、端口控制等等。例如:
|
安装WAS的过程非常简单,通常分为3步:安装WAS产品,为产品打补丁(如果有补丁),创建概要文件。如果您的环境很干净,没有一些特殊的限制,安装过程大多数时候是点击默认的“Next”。当然,根据环境的不同,通常会要注意以下方面:
使用图形界面方式安装WAS的过程十分简单,通常不需要做特定的修改。下面列举安装中常见的一些注意事项和提高安装速度的小窍门:
如 果您使用的WAS版本已经推出市场一段时间,根据用户的测试和使用情况, WAS会定期公布补丁包(Fix Pack)或补丁(Fix)。建议先在测试环境中安装补丁,确认安装的补丁不会对您的运行环境带来负面影响,再将补丁安装到生产环境中。一旦您经过了适当 的测试后,主动地安装预防补丁,将避免一些可能导致您系统出故障的问题。WAS V6.x的补丁升级策略 了解补丁升级策略的详情。并可以在IBM支持网站WAS补丁下载 下载WAS补丁。
一 般来说,WAS补丁的命名规范为:版本名-产品名-产品组件名-平台名-补丁编号名.pak。例如,6.1.0-WS-WAS- SolarisSparc64-FP0000007.pak ,这是WAS V6.1的WAS组件针对Solaris Sparc64操作系统的FP0000007补丁。如果您安装了WAS,就需要产品组件名为WASSDK和WAS的补丁;如果您安装了IBM Http Server,就需要产品组件名为IHS的补丁;如果您安装了Plugin就需要产品组件名为PLG的补丁。通常,同样补丁编号的补丁,先装WASSDK 补丁,再装WAS补丁。以后,每一次打补丁的过程,都是:
1) 把补丁文件拷贝到补丁工厂安装目录的maintenance目录下;
2) 在补丁工厂的安装目录下,执行./update.sh命令启动补丁工厂;
3) 在“安装目录”中选择将要打补丁的组件的安装目录。通常,对WAS组件,补丁会自动识别出安装位置;对于IBM Http Server(简称IHS)或者Plug-in这样的组件,需要选择正确的安装位置;
4)在maintenance package selection页面中选择想要打的补丁。
概要文件是一组用于定义运行时环境的文件,每个概要文件都是一组完全隔离的运行时环境。前面我们提到了概要文件有三种基本类型。在创建概要文件的过程中,通常我们要了解以下细节:
export WAS_HOME=/opt/IBM/WebSphere/AppServer echo $WAS_HOME cd $WAS_HOME/bin ./manageprofiles.sh -create -profileName AppSrv01 -profilePath $WAS_HOME/profiles/AppSrv01 -templatePath $WAS_HOME/profileTemplates/default -hostName kcgg1d7.itso.ibm.com -enableAdminSecurity true -adminUserName adminUser_ID -adminPassword adminPassword |
注意,命令和参数大小写敏感的。Manageprofiles命令的语法和更多参数选项请参见红皮书sg247304.pdf或信息中心。
|
在 生产环境中安装WAS完毕并创建了一个可用的概要文件之后,必须根据实际情况进行必要参数的调整,以便提高WAS性能、方便错误诊断。这些参数通常要结合 运行环境的实际情况、实际的并发量和服务器的资源利用情况进行调整。完整的调优涉及操作系统、应用、应用服务器和数据库的综合调整,具体要调整的参数、含 义,请参见WAS资源中提到的资源监控和性能调优章节,例如,红皮书sg246392 的17.5章节中明确谈到了性能调优通常涉及的参数以及调整原则。本文提出的只是针对应用服务器本身一些重要的参数调整的指导原则和经验之谈,以便读者能够快速起步:
|
由于生产环境访问控制的需要,搭建WebSphere环境之后,通常可能会要求修改应用访问端口,或者更改WAS管理员密码,启用/停用管理安全性等等。
应用服务器安装完毕之后,为了避免生产环境中的端口冲突、端口访问控制,有时我们需要查看或更改应用服务器的端口。
默 认情况下,WAS的管理控制台和应用访问是两个不同的端口。访问WAS的管理控制台或者WAS上部署的应用,所使用的端口由应用服务器端口以及虚拟主机决 定。假设我们要把应用访问的端口从9080变成9082(实际工作中,如果没有Web服务器,有的环境会希望把应用访问端口变成80,方法类似),则按如 下步骤进行:登陆WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1,选择“端口”,点击“WC_defaulthost”(如图8),修改端口为自己想要的任意端口(注意避免端口冲突),例如,9082。 然后点击“确定”。然后“保存”。
然 后,选择 左边菜单 环境 - 虚拟主机,点击”default_host”,选择“主机别名”(如图9),把原有端口9080改成与前面应用服务器/端口 /WC_defaulthost一致的端口,例如,9082。或者点击“新建”,把在WC_defaulthost修改之后的端口号填入,点击“确定”、 “保存”。
当 然,如果你在前面应用服务器/端口/WC_defaulthost中设置的端口已经出现在虚拟主机/default_host/主机别名的列表中,则不需 要做改动或者新增主机别名端口的工作。目的就是要让 应用服务器/端口/WC_defaulthost的端口出现在 虚拟主机/default_host的主机别名列表中。更改在重启WAS服务器之后生效。
登 陆WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1选择“端口”。然后更改WC_adminhost为自己希望的管理控制台端口。然后点击“确定”、“保存”。选择 左边菜单 环境 - 虚拟主机,点击;然后选择admin_host,选择“主机别名”。把原有端口9060改成与前面应用服务器/端口/WC_adminhost一致的端 口,例如,9063。或者点击“新建”,创建一个主机别名 *, 9063。然后“确定”,“保存”。目的就是要让 应用服务器/端口/WC_adminhost的端口出现在 虚拟主机/admin_host的主机别名列表中。
针对生产环境要求的多变性,实际WAS环境搭建中可能涉及管理安全性的多种操作。
启 用管理安全性将激活用于防止未经授权的用户使用服务器的设置,简单来说,进入管理控制台、更改应用服务器配置、停止应用服务器进程这些管理任务,都需要输 入预先定义的用户名和密码才能完成。缺省情况下,创建概要文件时会启用管理安全性(图9)。如果在创建概要文件时没有选择“启用管理安全性”,在随后使用 过程中又希望启用,则可按如下步骤进行:
首先进入控制台,例 如:,注意这里登陆的用户一定要是设置安全性的用户。例如,admin。选择“安全性”>“安全 管理、应用程序和基础结构”,然后点击“安全配置向导”(图10)。为了配置的简便性,在“指定保护范围”中,可以不选择“使用 Java 2 安全性来限制应用程序访问本地资源”;在“选择用户存储库”中接受默认选项,用户存储库为“联合存储库”,点击“下一步”;在配置用户存储库中填入用户 名、密码。如果您是第一次启用管理安全性,则输入一个新的用户名(您登陆管理控制台的用户名)和密码。这个用户名密码是任意的,并不要求是操作系统用户, 因为联合存储库默认的用户条目来自于文件;如果以前曾经使用该存储库启用过管理安全性,则使用存储库中持有管理员特权的用户名和密码。点击“下一步”、“ 完成”。保存之后重启应用服务器,这时登陆管理控制台等就需要提供您预定义的用户名/密码了。
停 用管理控制台很简单,在图10所示页面,不选择“启用管理安全性”,点击“应用”,保存并重启应用服务器即可。有一种特殊情况下,特如忘掉了管理员密码, 此时我们无法登陆管理控制台,从而无法在管理控制台中停用管理安全性。这时,可从$WAS_HOME/profiles/xxx概要文件名/bin目录 下,发出如下命令: wsadmin -conntype NONE 。当wsadmin的命令行窗口出现之后,发出下列命令: securityoff 。上述操作在应用服务器启动或停止的状态都能发出。再次启用WAS时,就是停用管理安全性的状态了。
当我们需要更改管理员密码时,可以选择“用户和组”>“管理用户”,如图11,在搜索内容为“*”时点击“搜索”,会列出该存储库中的所有用户。选中管理用户标识,可更改该用户的密码。更改即时生效。
如果忘记管理员密码,我们无法进入管理控制台更改密码。此时,需要先用“停用管理安全性”一节中wsadmin命令的方法,停用管理安全性,然后“更改管理员密码”,再次“启用管理安全性”即可。
使 用启用管理安全性的WAS环境时,默认情况下只有一个管理员ID,这意味着同一时刻只有一个人能登陆管理控制台。这对于多人开发小组在同一WAS环境发布 测试时并不方便。您可先在存储库中创建一个用户,然后为该用户ID分配相应的管理角色。具体步骤如下:1)选择“用户和组”>“管理用户”,如图 24,点击“添加”,添加一个用户ID,例如,admin1。保存。 2) 选择“用户和组”>“管理用户角色”,如图25,填入用户名(必须是在存储库中已经存在的用户名),选择相应的管理角色,例如,“管理员”。点击“ 确定”,保存。这样,下次重启WAS时,两个用户都能同时登陆管理控制台。
生 产环境、概要文件配置过于复杂或经常更改时,我们需要定期备份概要文件,以便必要时快速恢复。您可使用backupConfig 命令备份配置文件。例如,要备份概要文件AppSrv01的当前配置,可以从$WAS_HOME/profiles/AppSrv01/bin目录下,发 出命令 backupConfig,它会将AppSrv01当前概要文件默认生成一个压缩包,您也可以指定该压缩包的名称,例如:backupConfig WebSphereConfig_2007_05_30.zip。恢复配置时,使用restoreConfig WebSphereConfig_2007_05_30.zip。
需 要提醒的是,WAS的卸载过程不是直接删除目录,如果这样做,下次你可能无法在同一台机器上成功安装WAS。在卸载WAS之前,先停止机器上的WAS进 程,用ps –ef |grep java确保没有was进程在运行。然后,执行WAS_HOME/uninstall/uninstall.sh命令卸载WAS。如果因为某些特殊原因卸 载向导引导的卸载过程没有成功(例如,您直接删除了WAS安装目录),或者您希望在同一目录再次安装WAS,请参照信息中心“手工卸载”给出的建议。
|
应用部署通常会涉及如下几个任务:配置应用所需要的环境:如系统变量、虚拟主机、类路径、安全性等等;配置应用所需要的资源如JMS资源、数据源等。其中,需要注意的是:
|
当在WAS环境中遇到问题时,最方便的是利用网上资源查阅相关资料。这方面的文章已经太多,为了达到本文的目标:“为初级用户提供一个尽量完整的快速入门指南”,我不得不在这里老调重谈,请参照从何学习 WebSphere? 了解WebSphere应用服务器的常用网上资源。
了 解WAS的过程是渐进式的,希望这篇文章能够在WAS安装示例文档和用户的WebSphere生产环境搭建实践之间提供一个过渡,节省您的时间。从工程师 的角度看,遇到问题不是坏事,遇到问题越多,经验越多,查阅资料,并通过多种渠道获得IBM的技术支持,相信您对WAS的使用体验会更加美妙。