WebSphere 应用服务器环境搭建实践指南

简介: 生产环境中 WebSphere 应用服务器的搭建与演示环境有不少不一样,因为生产环境的多样性、应用场景的性能调优、错误诊断等严格要求,生产环境中 WebSphere 应用服务器的安装涉及到安装前系统各项检查、安装中各类参数调整,以及安装后常见的管理任务。WebSphere 应用服务器有着大量的资源能够参考,但对于不少仅仅搭建过演示或简单测试环境的用户来讲,面对浩如烟海的文档很难下手。本文试图总结在搭建一个完整的 WebSphere 环境中遇到的常见问题和注意事项,为初次搭建 WebSphere 应用服务器准生产环境的人提供一个快速入门指南。html

1. 引言java

与大多数商用应用服务器同样,若是您计划把WebSphere应用服务器(如下简称WAS)用于正式的生产环境或用于性能 测试、生产前检验的测试环境,除了简单地安装步骤外,您还须要作一些额外的检查、规划和配置,来确保您的WebSphere应用服务器环境安全稳定运行。 WebSphere应用服务器各个版本之间安装步骤差异不大,WAS V6.x版本比之前版本的安装配置步骤中多了建立概要文件的过程,本文举例的版本为V6.1。在阅读本文以前,推荐读者先了解安装WebSphere应用 服务器的大体过程或相关概念。对于WebSphere应用服务器各版本的具体安装步骤,请参照WebSphere应用服务器产品随机安装文档以及 WebSphere信息中心,DeveloperWorks上也有不少关于WAS环境搭建的参考文章,如:WAS5的安装及其常见问题、在WAS6.0 ND中实现集群等.node

2. 安装前准备c++

在搭建准生产环境的过程当中,好的准备是成功的一半,推荐逐条进行如下安装前准备工做。web

2.1. 应用服务器硬件配置数据库

WebSphere应用服务器可否顺利安装成功首先取决于目标平台是否知足安装的软件和硬件条件。WebSphere应用 服务器对硬件配置的要求主要体如今待部署平台的硬件架构、CPU、内存和磁盘存储空间上,一般最低内存要求在512M以上,根据硬件平台、 WebSphere应用服务器版本、组件的不一样,要求的配置也会略有区别,请参考WAS详细系统需求 。磁盘空间的分配请参见“2.4 确认磁盘空间是否知足要求”。安全

2.2. 确认操做系统版本是否知足要求服务器

做为一个成熟的商用应用服务器,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应用服务器要求。

2.3. 确认网络配置/主机名知足要求

在安装WebSphere应用服务器过程当中,建立概要文件这一步骤须要用户填入机器的主机名(如图1),而且,WAS运行 时也须要用到主机名(Host Name)。主机名是WAS安装节点的物理机器的网络名,它必须解析到服务器上的物理网络节点。建立概要文件中WAS使用的主机名的值能够是全限定 DNS 主机名(例如: hosta.cn.ibm.com)、短主机名(例如:hosta),或甚至是数字 IP 地址(例如:192.168.1.3),但必须是WAS所在服务器实际配置的主机名。并且,当WAS配置完毕投入使用以后,不推荐更改您设定的主机名,即 使能改,过程也比较复杂。所以,根据实际经验,咱们推荐用户在安装WebSphere应用服务器以前配置主机名。若是采用全限定 DNS 主机名或短主机名,能够经过hostname命令来查看当前系统的主机名。若是没有配置,则到hosts文件中添加相应的条目。


图 1. 建立概要文件时填入主机名
图 1. 建立概要文件时填入主机名
  • 常见问题1:在安装WAS以后,更改了主机名,WAS没法正常启动或中止,日志报 错:javax.naming.ConfigurationException: Cannot get canonical host name for server。或者报错没法找到主机名xxx。所以,在建立WAS的概要文件以前,须要根据实际状况,选择三种形式的主机名(全限定 DNS 主机名、短主机名或数字 IP 地址)中保持不变的那种主机名形式,做为WAS使用的主机名,在概要文件建立向导(图1)中填入。若是您使用 DHCP或者若是您常常更改 IP 地址,那么咱们推荐在概要文件建立时使用全限定 DNS 主机名或短主机名;若是机器ip固定,而全限定 DNS 主机名或短主机名有可能更改,则在概要文件建立中使用数字ip。
  • 常见问题2:若是您须要建立集群,请确保网络配置中,除了保证本机主机名配置正确外,还必须保证集群所在机器之间互相能ping通主机名。不然集群建立中add node一步可能不成功。

2.4. 确认磁盘空间是否知足要求

考虑硬盘空间分配时,在UNIX或Linux平台下能够用df –k 先查看各目录大小。若是是在生产环境上安装WebSphere应用服务器,通常要从如下几个方面来计算要预留的空间。

  • WebSphere 应用服务器自身代码的占用空间。这个空间通常在1G左右,在不一样的系统平台上略有差别。应在WAS安装目录下预留此空间。WebSphere应用服务器在 Linux下的默认安装路径是 /opt/IBM/WebSphere/AppServer,在AIX下的默认安装路径是/usr/IBM/WebSphere/AppServer(后 面咱们把此路径简称为WAS_HOME)。用户能够在安装WAS时修改此安装路径。
  • 概要文件所占的空间。WebSphere应用服务器V6.1建立的概要文件基本类型有3种,每一个概要文件所占用 的空间以下:应用程序服务器(Application Server):在WebSphere应用服务器安装没有选择安装样本程序时,这一律要文件所占磁盘空间约为200M;Deployment Manager:30M;定制概要文件(Custom,即node agent):10M。
  • 若是要安装WEB服务器,则在WEB服务器所在服务器上要预留WEB服务器所占的磁盘空间。IBM HTTP服务器通常占用110M左右的空间。
  • 若是安装WEB服务器,则在WEB服务器所在机器上一般也要安装Web Server Plug-in组件,该组件所占磁盘空间约为200M。
  • WebSphere 应用服务器系统日志的占用空间。日志空间的估算要结合系统对日志的配置状况。WebSphere应用服务器的主要日志有 SystemOut.log,SystemErr.log。咱们可设置日志文件的大小和保存的历史日志文件数量,从而能够估算出其须要的空间。请参考“必 要参数的调整”部分了解如何调整WebSphere应用服务器日志参数。
  • 若是有WEB服务器,需考虑WEB服务器的日志空间。若是客户开启了WEB服务器的访问日志access.log(默认开启),此日志增加的速度极快,要预留足够的空间。
  •  备份文件须要的空间。WebSphere应用服务器提供了一个备份命令(backupConfig.bat/sh),用来备份应用服务器的配置及其上应 用。咱们建议在系统稳定以后及时备份。对于一个典型生产系统,WebSphere应用服务器这个配置文件常常超过100M。可在发出 backupConfig命令时,使用-logfile参数指定该备份文件的存放位置。
  • 系统出错时日志,例如,JVM在发生OutOfMemory时,在大多数平台上WebSphere应用服务器会 默认写javacore文件和heapdump文件,记录错误出现时的JVM Heap、线程状况,以备错误诊断使用。虽然能够调整应用服务器参数使之不产生此类文件,但为了分析问题,一般须要今后类文件入手。这类文件一般都特别 大,例如heapdump文件,可能达到几百M。若是屡次出现OutOfMemroy,对磁盘空间的占用很快。所以,必须考虑为此类文件预留磁盘空间。
  • WAS安装程序还须要在系统的临时目录/tmp中有100M以上的空闲空间。
  • 用户发布到WebSphere应用服务器上全部应用程序以及应用自身的应用日志的占用空间。这个大小与实际应用相关,并且不一样应用能够差异很大。

如要了解不一样平台具体的磁盘空间要求,请参考WAS V6.1信息中心“为产品安装准备操做系统”一节的内容。

2.5. 针对特定操做系统的调整

前面提到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
	

2.6. 对于Linux/Unix系统,确认能启动图形界面

WAS的安装可使用人机交互的图形界面安装或批处理安装(称为静默安装,silent installation,预先写好响应文件,安装过程当中不须要启动图形界面或者人机交互)。若是使用图形界面安装,在服务器是Linux/UNIX平台 时,咱们一般没有机会直接使用服务器的显示屏/控制台,而是经过本身的机器telenet到服务器上去。这种命令行直接telnet的模式下,可能不支持 启动图形界面,须要用到Xmanager、X-Win32等支持X Window的工具软件。你能够在命令行下敲入命令xclock进行测试。若是出现如图2所示的图形显示,代表你可以在你的终端上启动图形界面。


图 2. 验证可以启动图形界面
图 2. 验证可以启动图形界面

2.7. 准备合适的安装介质

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前提早下载这些补丁 以备安装过程当中使用。具体内容在“打补丁”一节详述。

2.8. 设计WebSphere环境的拓扑架构

根据实际应用场景的不一样,咱们须要决定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集群的配置是很是方便的,能够在建立完概要文件以后灵活调整。


图 3. 设计WAS拓扑架构
图 3. 设计WAS拓扑架构

2.9. 其余常见注意事项

其余一些常见注意事项还包括权限、端口控制等等。例如:

  • WebSphere应用服务器在Unix/Linux系统上支持root用户和非root用户。但为了操做设置的简便性,一般都会在root用户下进行。
  • 有的生产系统对端口访问有限制,或者系统中能够已经占用了 WAS 即将使用的默认端口,所以,须要更改WAS使用的端口(此任务将在“更改WAS使用的端口”中详述)等等。
  • 若是须要建立集群,请确保参与Cell环境的各台机器之间时间一致、时区一致,建议偏差控制在秒级。不然在add node过程当中可能不成功。

3. 安装WebSphere应用服务器

安装WAS的过程很是简单,一般分为3步:安装WAS产品,为产品打补丁(若是有补丁),建立概要文件。若是您的环境很干净,没有一些特殊的限制,安装过程大多数时候是点击默认的“Next”。固然,根据环境的不一样,一般会要注意如下方面:

3.1. 安装WAS产品中的注意事项

使用图形界面方式安装WAS的过程十分简单,一般不须要作特定的修改。下面列举安装中常见的一些注意事项和提升安装速度的小窍门:

  • 一般,若是您的系统曾经安装过WAS产品,安装WAS产品以前,建议停掉正在运行的WAS进程。若是安装IBM Http Server,一般最好停掉正在运行的Apache Http Server或者其余IBM Http Server进程。在Unix/Linux系统上,能够用 ps –ef |grep java 命令,去查看当前系统是否有was进程,用 ps –ef |grep httpd 命令,去查看当前系统是否有http server进程在运行。
  • 安装WAS能够执行launchpad.bat/luanchpad.exe,启动“启动板”,从启动板中点击 “启动WebSphere Application Server的安装向导”。若是没法成功启动“启动板”,直接到安装介质目录下的WAS目录中,执行install.exe/install.sh便可。
  • 乱码:启动板或WAS安装向导显示的语言与本地操做系统语言设置有关。若是本地操做系统语言设置为中文,则 WAS安装向导就会显示中文。若是发现向导中语言显示为乱码,能够先把本地操做系统语言设置为英文,使用英文语言安装WAS。这样安装完毕的WAS仍然具 有中文支持,没必要担忧。在Unix/Linux平台上,更改语言为英文使用下列命令: export LANG=en_US
  • 安装 WAS 过程当中能够选择是否安装样本应用程序(samples),为了在开发环境和生产环境中都能得到更高性能,请不要安装样本。经过省略样本,能够将应用程序服 务器启动时间缩短 60% 并节省 15% 的磁盘空间;能够节省至关程度的进程占用量;而且能够节省WAS产品安装以及每次建立应用服务器概要文件的时间。
  • 一个可运行的 WAS 环境至少要包含一个概要文件。所以,WAS产品安装过程当中会让用户选择要建立的初始概要文件。若是在安装完WAS产品以后还要打补丁,建议此时先不要选择 建立任何初始概要文件(图4),以节省打补丁所需的时间。若是在安装期间未建立概要文件,安装WAS产品结束后会显示用于启动“概要文件建立”向导的选 项。基于一样缘由,若是须要打补丁,咱们将把建立概要文件这个工做放到打补丁以后进行,所以此处没必要选择启动“概要文件建立”向导。

图 4. 安装时不选择建立初始概要文件
图 4. 安装时不选择建立初始概要文件

3.2. 打补丁

若是您使用的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页面中选择想要打的补丁。

3.3. 建立概要文件

概要文件是一组用于定义运行时环境的文件,每一个概要文件都是一组彻底隔离的运行时环境。前面咱们提到了概要文件有三种基本类型。在建立概要文件的过程当中,一般咱们要了解如下细节:

  • 概要文件建立有两种方式,图形化建立向导和命令行方式。为了操做的简便和直观,咱们一般采用图形化建立向导(执 行WAS_Home/ bin/ProfileManagement/pmt.sh启动该向导)。若是安装的是64位的WAS,则没有该图形化建立向导工具。这时,请直接使用. /manageprofiles.sh命令。例如:在UNIX平台上建立一个Application Server类型的名为AppSrv01的profile,使用manageprofiles命令能够以下操做:
    			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或信息中心。

  • 在“确认网络配置/主机名知足要求”一节中,提到了选择适当的主机名;在建立概要文件(图1)过程当中,大多数情 况下向导自动识别出的主机名就符合要求,不然咱们须要向概要文件向导中填入适当的主机名。在同一台机器上用概要文件建立向导建立多个profile时,自 动识别的主机名多是加上域名的全限定名称例如hosta.cn.ibm.com,也多是短名hosta。这两种形式都支持,可是不要在一个cell (Cell指WAS多个实例组成的一个受管域)中混用这两种名称方式。
  • 建立应用程序服务器概要文件过程当中,能够根据须要选择建立适用于开发环境或生产环境使用的应用服务器实例。例 如,对于开发环境,咱们能够选择使用开发模板来建立服务器,开发模板针对开发目的进行了优化的配置,减小了WAS启动时间并容许服务器在功能较少的硬件上 运行。但在生产环境中,不要选择“使用开发模板”。
  •  概要文件建立过程当中咱们能够选择“启用管理安全性”,让用户在进行登录管理控制台、中止WAS实例等管理任务时须要输入用户名/密码。注意,若是在建立概 要文件过程当中没有启用管理安全性,或者启用管理安全性以后但愿修改用户名或密码,均可以在概要文件建立完毕以后再次进行修改(请参见“管理安全性”)。
  • 建立概要文件过程当中可查看/更改该概要文件所占的port。图5显示了建立的这个概要文件实例启动时将占用的端 口,咱们可看到管理控制台端口是9060,Http传输端口(也就是应用访问端口)是9080。若是用命令行方式建立概要文件向导,没法经过图形化显示看 到这些端口,若是但愿查看端口,能够在概要文件建立完毕后查看配置获得端口值(请参见“查看/更改应用服务器端口”);若是但愿修改这些端口,则能够在概 要文件建立中用参数-portsFile或-startingPort指定端口。固然,全部这些端口值均可以在概要文件建立完毕以后再次修改。

    图 5. 建立概要文件中显示端口
    图 5. 建立概要文件中显示端口
     

4. 必要参数的调整

在生产环境中安装WAS完毕并建立了一个可用的概要文件以后,必须根据实际状况进行必要参数的调整,以便提升WAS性能、 方便错误诊断。这些参数一般要结合运行环境的实际状况、实际的并发量和服务器的资源利用状况进行调整。完整的调优涉及操做系统、应用、应用服务器和数据库 的综合调整,具体要调整的参数、含义,请参见WAS资源中提到的资源监控和性能调优章节,例如,红皮书sg246392的17.5章节中明确谈到了性能调优一般涉及的参数以及调整原则。本文提出的只是针对应用服务器自己一些重要的参数调整的指导原则和经验之谈,以便读者可以快速起步:

  • Java虚拟机堆大小(JVM Heap Size): 控制JVM代码可以使用的堆大小,单位M。该参数在服务器->应用程序服务器>进程定义>Java虚拟机中进行设置。JVM最大堆大小默 认是256M,在生产环境中一般要根据机器物理内存状况、应用运行特性来设置,且多数状况下都要把此参数调大。根据经验,内存充足时,一般的调整在 500M到1024M之间。须要注意的是,建议JVM Heap的最大值不要超过1024M,若是JVM Heap Size过大,可能会引发内存分页,或者形成JVM垃圾回收时间过长,反而影响应用服务器性能。有关Java虚拟机调优的具体信息,请参考调整JVM参数
  • Web容器线程池:该参数在“服务器 > 应用程序服务器 > server1 > 线程池”的“WebContainer”中进行设置(如图6),默认值是10到50。若是硬件资源容许,一般会把线程池的最大大小调到100。

    图 6. 调整线程池
    图 6. 调整线程池
     
  • 数据源链接池:该参数在资源->JDBC->数据源->数据源名称,选择“链接池设置”中设 置,默认大小为1到10。根据资源设置的队列(Queue)原则,从Web容器线程池,到数据源链接池的参数设置,应该是从大到小的管道。前面咱们列举了 Web容器线程池的最大值设置100,对于数据源链接池,设置的最大值一般不超过50。多数状况下调整为30。实际运行中能够修改此参数值,观察调整对性 能是否有正面影响。注意,若是把数据库链接池最大大小调得过大,JVM有限的资源都耗费在维护链接池、处理与数据库链接上,可能反而形成WAS性能的下 降。
  • WAS 进程日志参数:WAS进程日志经常使用的有SystemOut.log和SystemErr.log。这两份日志默认大小为1M,历史日志文件数为1份。在生 产环境中,这样的设置一般不足以充分保存发生问题时的错误信息。咱们能够经过修改日志默认大小、历史日志文件数来保存更多的信息。注意,不要把单份日志文 件大小设置过大(例如,超过10M以上),不然可能影响WAS性能。另外,咱们建议把应用日志与WAS日志分离开。若是应用中大量以 System.out.print或者System.err.print来保存应用状态日志,也可能会影响服务器性能。

    图 7. 修改WAS日志属性
    图 7. 修改WAS日志属性
     
  • Heapdump文件:前面咱们提到,Heapdump文件对磁盘空间占用很快,所以,能够设置IBM_HEAPDUMP参数把Heapdump文件存放到指定目录下。
  • Web服务器的访问日志access.log:IBM Http Server的访问日志access.log默认是打开的,其中记录了通过Http服务器的请求信息。在高并发的系统中,这一日志增加很是过,当日志过大 时,可能占用过多磁盘空间或引发性能降低,若是您的系统不须要这份日志,或者有其余技术手段保存用户访问信息,能够关闭该日志。具体作法为:打开IBM Http Server安装目录/conf目录下的httpd.conf文件,搜索CustomLog,把CustomLog所在行用#注释掉便可。

5. 常见的平常管理任务

因为生产环境访问控制的须要,搭建WebSphere环境以后,一般可能会要求修改应用访问端口,或者更改WAS管理员密码,启用/停用管理安全性等等。

5.1. 查看/更改应用服务器端口

应用服务器安装完毕以后,为了不生产环境中的端口冲突、端口访问控制,有时咱们须要查看或更改应用服务器的端口。

  • 查看端口
  • 更改应用访问端口

    默认状况下,WAS的管理控制台和应用访问是两个不一样的端口。访问WAS的管理控制台或者WAS上部署的应用,所使用的端口由应用服务器端口以 及虚拟主机决定。假设咱们要把应用访问的端口从9080变成9082(实际工做中,若是没有Web服务器,有的环境会但愿把应用访问端口变成80,方法类 似),则按以下步骤进行:登录WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1,选择“端口”,点击“WC_defaulthost”(如图8),修改端口为本身想要的任意端口(注意避免端口冲突),例如,9082。 而后点击“肯定”。而后“保存”。



    图 8. 修改应用访问端口
    图 8. 修改应用访问端口

    而后,选择 左边菜单 环境 - 虚拟主机,点击”default_host”,选择“主机别名”(如图9),把原有端口9080改为与前面应用服务器/端口 /WC_defaulthost一致的端口,例如,9082。或者点击“新建”,把在WC_defaulthost修改以后的端口号填入,点击“肯定”、 “保存”。



    图 9. 修改虚拟主机
    图 9. 修改虚拟主机

    固然,若是你在前面应用服务器/端口/WC_defaulthost中设置的端口已经出如今虚拟主机 /default_host/主机别名的列表中,则不须要作改动或者新增主机别名端口的工做。目的就是要让 应用服务器/端口/WC_defaulthost的端口出如今 虚拟主机/default_host的主机别名列表中。更改在重启WAS服务器以后生效。

  • 更改WAS管理控制台端口

    登录WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1选择“端口”。而后更改WC_adminhost为本身但愿的管理控制台端口。而后点击“肯定”、“保存”。选择 左边菜单 环境 - 虚拟主机,点击;而后选择admin_host,选择“主机别名”。把原有端口9060改为与前面应用服务器/端口/WC_adminhost一致的端 口,例如,9063。或者点击“新建”,建立一个主机别名 *, 9063。而后“肯定”,“保存”。目的就是要让 应用服务器/端口/WC_adminhost的端口出如今 虚拟主机/admin_host的主机别名列表中。

5.2. 管理安全性

针对生产环境要求的多变性,实际WAS环境搭建中可能涉及管理安全性的多种操做。

  • 启用管理安全性

    启用管理安全性将激活用于防止未经受权的用户使用服务器的设置,简单来讲,进入管理控制台、更改应用服务器配置、中止应用服务器进程这些管理任 务,都须要输入预先定义的用户名和密码才能完成。缺省状况下,建立概要文件时会启用管理安全性(图9)。若是在建立概要文件时没有选择“启用管理安全 性”,在随后使用过程当中又但愿启用,则可按以下步骤进行:

    首先进入控制台,例如:http://was_ip:9060/admin,注意这里登录的用户必定要是 设置安全性的用户。例如,admin。选择“安全性”>“安全管理、应用程序和基础结构”,而后点击“安全配置向导”(图10)。为了配置的简便 性,在“指定保护范围”中,能够不选择“使用 Java 2 安全性来限制应用程序访问本地资源”;在“选择用户存储库”中接受默认选项,用户存储库为“联合存储库”,点击“下一步”;在配置用户存储库中填入用户 名、密码。若是您是第一次启用管理安全性,则输入一个新的用户名(您登录管理控制台的用户名)和密码。这个用户名密码是任意的,并不要求是操做系统用户, 由于联合存储库默认的用户条目来自于文件;若是之前曾经使用该存储库启用过管理安全性,则使用存储库中持有管理员特权的用户名和密码。点击“下一步”、 “完成”。保存以后重启应用服务器,这时登录管理控制台等就须要提供您预约义的用户名/密码了。



    图 10. 配置管理安全性
    图 10. 配置管理安全性
     
  • 停用管理安全性

    停用管理控制台很简单,在图10所示页面,不选择“启用管理安全性”,点击“应用”,保存并重启应用服务器便可。有一种特殊状况下,特如忘掉了 管理员密码,此时咱们没法登录管理控制台,从而没法在管理控制台中停用管理安全性。这时,可从$WAS_HOME/profiles/xxx概要文件名 /bin目录下,发出以下命令: wsadmin -conntype NONE 。当wsadmin的命令行窗口出现以后,发出下列命令: securityoff 。上述操做在应用服务器启动或中止的状态都能发出。再次启用WAS时,就是停用管理安全性的状态了。

  • 更改管理员密码

    当咱们须要更改管理员密码时,能够选择“用户和组”>“管理用户”,如图11,在搜索内容为“*”时点击“搜索”,会列出该存储库中的全部用户。选中管理用户标识,可更改该用户的密码。更改即时生效。



    图 11. 管理用户
    图 11. 管理用户
     
  • 忘记管理员密码

    若是忘记管理员密码,咱们没法进入管理控制台更改密码。此时,须要先用“停用管理安全性”一节中wsadmin命令的方法,停用管理安全性,而后“更改管理员密码”,再次“启用管理安全性”便可。

  • 建立更多的管理用户

    使用启用管理安全性的WAS环境时,默认状况下只有一个管理员ID,这意味着同一时刻 只有一我的能登录管理控制台。这对于多人开发小组在同一WAS环境发布测试时并不方便。您可先在存储库中建立一个用户,而后为该用户ID分配相应的管理角 色。具体步骤以下:1)选择“用户和组”>“管理用户”,如图24,点击“添加”,添加一个用户ID,例如,admin1。保存。 2) 选择“用户和组”>“管理用户角色”,如图25,填入用户名(必须是在存储库中已经存在的用户名),选择相应的管理角色,例如,“管理员”。点击 “肯定”,保存。这样,下次重启WAS时,两个用户都能同时登录管理控制台。



    图 12. 管理用户角色
    图 12. 管理用户角色
     

5.3. 备份/恢复概要文件

生产环境、概要文件配置过于复杂或常常更改时,咱们须要按期备份概要文件,以便必要时快速恢复。您可以使用 backupConfig 命令备份配置文件。例如,要备份概要文件AppSrv01的当前配置,能够从$WAS_HOME/profiles/AppSrv01/bin目录下,发 出命令 backupConfig,它会将AppSrv01当前概要文件默认生成一个压缩包,您也能够指定该压缩包的名称,例如:backupConfig WebSphereConfig_2007_05_30.zip。恢复配置时,使用restoreConfig WebSphereConfig_2007_05_30.zip。

5.4. 正确卸载WAS

须要提醒的是,WAS的卸载过程不是直接删除目录,若是这样作,下次你可能没法在同一台机器上成功安装WAS。在卸载 WAS以前,先中止机器上的WAS进程,用ps –ef |grep java确保没有was进程在运行。而后,执行WAS_HOME/uninstall/uninstall.sh命令卸载WAS。若是由于某些特殊缘由卸 载向导引导的卸载过程没有成功(例如,您直接删除了WAS安装目录),或者您但愿在同一目录再次安装WAS,请参照信息中心“手工卸载”给出的建议。


6. 应用的部署

应用部署一般会涉及以下几个任务:配置应用所须要的环境:如系统变量、虚拟主机、类路径、安全性等等;配置应用所须要的资源如JMS资源、数据源等。其中,须要注意的是:

  • 应用打包:部署在 WebSphere 应用服务器上的应用能够是打包的*.ear/*.war文件,也能够是未打包但符合J2EE规范要求的组件。在生产环境中,推荐使用打包的*.ear /*.war文件,便于版本控制和管理。对于复杂项目中多个J2EE组件的打包,请参见文章“关于J2EE应用开发项目包的管理”。
  • 管理 Utility Jar包:大多数J2EE应用都会有一些公用的Utility Jar包,首先要强调的是:必定要避免在同一个类载入路径下存在同一个类的多个版本!这会在实际运行中带来不少莫名其妙且难以诊断的问题。其次,对于 JDBC驱动这类通用等级较高的Utility Jar包,能够放置在<WAS_HOME>/lib/ext目录下;对于多个应用共享的Utility Jar,能够放在 <WAS_HOME>/lib/ext中,也能够放在shared library(共享库)中,推荐放在shared library中;对于单个应用使用的Utility Jar,可与应用打包在一块儿,或放入shared library中。共享库的使用可以避免Utility Jar包多个版本的混乱,以及Utility Jar包的冲突。共享库配置方法请参见红皮书sg247304 12.5.4 Step 4: Sharing utility JARs using shared libraries章节。
  • Jar 包冲突:Jar包冲突问题在大型Java软件开发中常常遇到,简单的说,当不一样应用使用的公用Utility Jar包、应用服务器底层的Jar包中存在同名、且版本不一样的类时,咱们称之为Jar包冲突。这种问题的解决办法能够参考文章如何在WebSphere中解决Jar包冲突
  • 会话超时:针对应用场景的不一样,不一样应用指望的会话超时时间各不相同。WebSphere应用服务器的会话管理 分为Application server、Application、Web Module三个级别。顾名思义,在每一个特定级别上更改的会话管理的配置,对当前级别起做用。部署在WebSphere应用服务器上的应用,默认的会话超 时时间为30分钟,默认的会话管理级别是Application Server。若是您指望更改您的应用,例如,DefaultApplication的会话超时时间,可按以下步骤进行:选择应用程序>应用程序 名>会话管理(图13),选择“覆盖会话管理”,并在“设置超时”中填上指望的会话超时时间。点击“肯定”保存便可。

    图 13. 会话管理
    图 13. 会话管理
     
  • 当应用须要经过写Java环境变量的方式配置一些变量时,可在应用服务器启动脚本中用-D参数指定,也能够在应 用程序服务器 > 应用程序服务器名(例如,server1) > 进程定义 > Java 虚拟机中设置“通用JVM参数” -Daaa=xxx。

7. 结束语

当在WAS环境中遇到问题时,最方便的是利用网上资源查阅相关资料。这方面的文章已经太多,为了达到本文的目标:“为初级用户提供一个尽可能完整的快速入门指南”,我不得不在这里老调重谈,请参照从何学习 WebSphere? 了解WebSphere应用服务器的经常使用网上资源。

了解WAS的过程是渐进式的,但愿这篇文章可以在WAS安装示例文档和用户的WebSphere生产环境搭建实践之间提供 一个过渡,节省您的时间。从工程师的角度看,遇到问题不是坏事,遇到问题越多,经验越多,查阅资料,并经过多种渠道得到IBM的技术支持,相信您对WAS 的使用体验会更加美妙。

本文章来源IBM官方网站.还有些参考资料,给本身留存资料备学习!

相关文章
相关标签/搜索