软件版本:
OS:CentOS 7 (虚拟机,主机为Windows)
WebSphere:8.5.5.0 + 8.5.5.13
目标:
安装好 WebSphere 并且部署自己作为示例的war包。
前期准备:
将项目打包成 war,并且在tomcat服务器上测试部署,保证war包可以正常运行。
安装Install Manager(IM):
注册IBM账号(免费)
下载 websphere application server network deployment(WebSphere ND)与IBM Install Manager
解压 IBM Install Manager 的zip包。
如果当前用户有 root 权限,则用 install 可执行文件安装 IM。如果当前用户没有 root 权限,则使用 userinst 可执行文件安装 IM。
IM 安装过程中需要输入 IBM 账号与密码。
安装WebSphere:
将 WebSphere_ND 8.5.5.0 解压至本地文件夹,文件夹中应该会有 repository.config。
打开 IM,选择 preference -> Add repository -> Browse,选择解压后的 WebSphere 文件夹中的 repository.config。点击 OK -> Apply -> OK。
点击 Install , 按步骤安装 WebSphere 8.5.5.0。
安装完毕后,WebSphere会自动启动,并弹出first steps界面。
点击 Installation verification, 检查程序完整性。
升级 WebSphere 的JRE:
启动 WebSphere。
通过浏览器打开 Administrative console (http://localhost:9061/ibm/console)
在welcome页面能看到 当前 WebSphere版本为 8.5.5.0,我们需要升级成 8.5.5.13 才能升级到 Java 8。
关闭 WebSphere
下载WAS 8.5.5.13 升级包 (http://www-01.ibm.com/support/docview.wss?rs=180&context=SSEQTP&uid=swg27004980#ver85_0)和Java SDK 8 (http://www-01.ibm.com/support/docview.wss?uid=swg24044501)
解压三个WAS 8.5.5.13 升级包 和 Java SDK 8
打开 IM,将解压后的WAS 8.5.5.13 升级包 和 Java SDK 8 加入 repository
点击 IM 主页面的更新,选中 WAS 8.5.5.13 升级包 并按提示安装。
在终端配置默认SDK。
[root@localhost bin]# cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
[root@localhost bin]# ./managesdk.sh -listAvailable
CWSDK1003I: 可用的 SDK:
CWSDK1005I: SDK 名称:1.6_64
CWSDK1005I: SDK 名称:1.8_64
CWSDK1001I: 已成功执行请求的 managesdk 任务。
[root@localhost bin]# ./managesdk.sh -getNewProfileDefault
CWSDK1007I: 新概要文件创建 SDK 名称:1.6_64
CWSDK1001I: 已成功执行请求的 managesdk 任务。
[root@localhost bin]# ./managesdk.sh -setNewProfileDefault -sdkName 1.8_64
CWSDK1022I: 现在,新概要文件创建将使用 SDK 名称 1.8_64。
CWSDK1001I: 已成功执行请求的 managesdk 任务。
[root@localhost bin]# ./managesdk.sh -enableProfileAll -sdkName 1.8_64
CWSDK1017I: 现在,启用了概要文件 Dmgr01 以使用 SDK 1.8_64.
安装完毕后,启动 WebSphere。
登录 Administrative console,显示 WebSphere版本为 8.5.5.13。
左侧菜单栏 Servers -> Server Types -> WebSphere application servers -> 页面中间的列表 server1 -> Server Infrastructure -> Java SDKs
选择 1.8,然后点击 make default
查看 日志文件(/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/*),确认当前使用的 Java SDK 版本
部署War格式的项目包:
启动 WebSphere Server。
通过浏览器打开 Administrative console, http://localhost:9061/ibm/console
左侧菜单栏 Application -> New Application -> New Enterprise Application
选择 war 包,点击 next 此时WAS会解析War包,耗时较久(可能在上传文件时发生浏览器崩溃)
选择”Fast Path",点击 next.
确认 Application name,这将会是本应用在WAS中的应用名,点击 next。
关联Module与WAS Server:勾选 Module 并在 Cluster and Server 中选择Server。点击 Apply。点击next。
勾选 Web Module,点击 next。
填写 Centext Root。(fp必须写成:/ 否则无法加载静态资源)
在当前页面: Metadata for modules 不进行任何修改,直接点击 next.
当前页面:Summary 确认所有配置信息。点击 finish
等待WAS将应用部署完毕后点击 save。
查看 左侧菜单栏 Application -> Application Types -> WebSphere enterprise applications。查看是否有刚刚部署的应用。
应用的环境配置:
将MyApplication.tar解压到 /home/admin
目录如下:/home/admin/output 和 /home/admin/MyApplication
设置 Java.library.path:
目的是加载 libnew.so
左侧菜单栏 Environment -> Shared libraries
点击页面中间的列表的上方的 new
Name: fp-native-lib 随意取
Classpath: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/localhostNode01Cell/fp-web_war.ear/fp-web.war/WEB-INF/lib
Native Library Path: /home/admin/MyApplication/
将刚刚设置的 Shared Library 绑定到fp-web:
左侧菜单栏 Application -> Application Types -> WebSphere enterprise applications
进入之前部署的 fp 应用
点击 Reference -> Shared library references
勾选 Application 列表中的 fp-web-war, 点击列表上方的 reference shared libraries
将 Avaliable 中的 fp-native-lib 加入到 Selected
点击 OK 以保存修改。
启动应用:
启动 WebSphere Server,此时会自动启动所有部署在该 Server 上的应用。
通过浏览器打开 Administrative console
左侧菜单栏 Application -> Application Types -> WebSphere enterprise applications
如果应用已经启动,则完成。否则可以勾选要启动的应用 点击表格上方的 start.
遇到的问题:
虚拟机 CentOS 的自带 firefox 无法上传文件:VM菜单->编辑->虚拟网络编辑器->VMnet8 NAT模式 -> NAT设置。查看CentOS的网络IP以及服务运行的端口,配置端口转发。(Administrative console默认端口是9061)
JVM 内存不足:Administrative console ->左侧菜单栏 servers -> Server Types -> WebSphere application servers -> 页面中间的列表 server1-> Server Infrastructure -> Java and Process Management -> Process Definition -> Java Virtual Machine -> 修改 Initial heap size 和 Maximum heap size
报错:ERROR:detected both log4j-over-slf4j.jar and bound slf4j-log4j.jar on the class path. 删除项目其中一个依赖