当前位置:首页 > Linux > 正文

linux如何启动was

在 Linux 中启动 WebSphere Application Server (WAS),可进入 /bin 目录,执行 ./startServer.sh ;或通过 `wsadmin.sh

以下是关于 Linux 系统下启动 WebSphere Application Server (WAS) 的完整指南,涵盖安装、配置、启动/停止命令、常见问题及最佳实践等内容:


前置条件与环境准备

硬件与操作系统要求

项目 最低要求 推荐配置
CPU 2核 4核及以上
内存 4GB 8GB+(根据应用负载调整)
磁盘空间 5GB(基础安装) 预留20%冗余空间
OS版本 RHEL/CentOS 7+、Oracle Linux 8+ 优先选择LTS长期支持版本
Java版本 JRE 8/11(需与WAS版本匹配) 详见IBM官方兼容性矩阵

软件包获取

  • 下载地址:IBM Passport Advantage Portal(需有效许可证)
  • 典型文件名was-ND-<version>.zip(ND表示非开发者版)
  • 解压路径建议/opt/IBM/WebSphere/AppServer

用户与权限规划

角色 职责说明 推荐操作
root 初始安装与全局配置 仅用于解压安装包
wasadmin 日常管理与进程控制 创建专用用户组,赋予目录所有权
websphere 运行期主进程所有者 通过sudo提权执行启动脚本

️ 重要提示:切勿直接以root用户运行WAS进程,可能导致安全破绽和文件权限混乱。


安装与初始化配置

解压安装包

# 切换至目标目录
cd /opt/IBM
# 解压安装包(假设文件名为was-ND-9.0.5.zip)
unzip was-ND-9.0.5.zip -d /opt/IBM/WebSphere/AppServer
# 设置目录权限(关键步骤!)
chown -R wasadmin:wasadmin /opt/IBM/WebSphere/AppServer
chmod -R u+rX,go-rwx /opt/IBM/WebSphere/AppServer/

生成Profile文件

每个WAS实例对应一个独立的Profile目录,包含专属的配置信息:

# 进入安装根目录的bin文件夹
cd /opt/IBM/WebSphere/AppServer/bin
# 交互式创建Profile(推荐首次使用)
./createProfile.sh
# 根据提示输入以下信息:
#   Profile名称:app_profile1(自定义)
#   JVM堆大小:建议设置为物理内存的50%-70%(如-Xmx2g)
#   安装根路径:自动检测
#   节点名称:node1(可自定义)
#   主机名:当前服务器主机名(可通过hostname命令查看)
#   管理员用户名/密码:设置强密码(后续登录管理控制台使用)

备注:若需自动化部署,可改用非交互模式:./createProfile.sh -profileName app_profile1 -profilePath /opt/IBM/WebSphere/Profiles/app_profile1 -installRoot /opt/IBM/WebSphere/AppServer -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/default -jvmOptions "-Xmx2g" -hostname $(hostname)

linux如何启动was  第1张

关键配置文件修改

文件路径 作用 修改建议
<PROFILE_ROOT>/config/cells/<cell_name>/nodes/<node_name>/serverindex.xml 定义服务器启动顺序 确保当前节点优先级最高
<PROFILE_ROOT>/config/cells/<cell_name>/nodes/<node_name>/servers/<server_name>/server.xml 单个服务器核心配置 调整线程池大小、超时时间等参数
<PROFILE_ROOT>/config/cells/<cell_name>/nodes/<node_name>/servers/<server_name>/jvm.xml JVM参数配置 添加GC日志、监控指标端点

启动WAS的三种方式

▶️ 方法1:通过管理控制台(图形化界面)

  1. 打开浏览器访问:https://<服务器IP>:9043/ibm/console
    • 首次登录:使用创建Profile时设置的用户名/密码
  2. 导航路径:环境 > 服务器 > <目标服务器> > 启动
  3. 等待状态变为”RUNNING”(约需2-5分钟)

技巧:若遇到SSL证书警告,可将浏览器安全策略临时设为”接受风险”。

️ 方法2:命令行启动(推荐生产环境使用)

# 切换至Profile的bin目录
cd /opt/IBM/WebSphere/Profiles/app_profile1/bin
# 启动指定服务器(如server1)
./startServer.sh server1
# 验证进程状态
ps -ef | grep java | grep server1
参数 说明 示例值
-trace 启用详细日志输出 -trace=all=info
-Dcom.ibm.wsspi. 覆盖默认SPI实现 -Dcom.ibm.wsspi.naming=...
-heapdump JVM崩溃时生成堆转储文件 -heapdump=/tmp/dump.bin

方法3:系统服务化启动(适用于长期运行)

  1. 创建systemd服务单元文件:

    [Unit]
    Description=WebSphere Application Server %i
    After=syslog.target network.target
    [Service]
    Type=forking
    ExecStart=/opt/IBM/WebSphere/Profiles/app_profile1/bin/startManager.sh
    ExecStop=/opt/IBM/WebSphere/Profiles/app_profile1/bin/stopManager.sh
    User=wasadmin
    Group=wasadmin
    Restart=always
    RestartSec=30
    [Install]
    WantedBy=multi-user.target
  2. 保存为/etc/systemd/system/websphere.service

  3. 加载并启动服务:

    systemctl daemon-reload
    systemctl start websphere.service
    systemctl enable websphere.service  # 开机自启

停止与重启操作

操作类型 命令示例 说明
停止单个服务器 ./stopServer.sh server1 立即终止服务
同步停止 ./syncServers.sh stop 确保事务完整后再停止
重启节点 ./restartNode.sh node1 重启整个节点下的所有服务器
紧急终止 kill -9 <PID> 仅用于极端情况

️ 警告:直接杀死进程可能导致数据不一致,务必优先使用标准停止命令。


状态监控与日志分析

实时状态查询

# 查看所有服务器状态
cd /opt/IBM/WebSphere/Profiles/app_profile1/bin
./wsadmin.sh -conntype SOAP -host <管理IP> -port 9043 -user wsadmin -password <密码> -f checkServerStatus.py

日志文件定位

日志类型 路径 用途
启动日志 <PROFILE_ROOT>/logs/<server_name>/SystemOut.log 记录启动过程及错误堆栈
访问日志 <INSTALL_ROOT>/profiles/<profile>/logs/<server_name>/httpInstTopologyRoot.log HTTP请求明细
JVM垃圾回收日志 <PROFILE_ROOT>/logs/<server_name>/gc.log GC活动统计

健康检查命令

# 检查Java进程是否存在
jps -lvm | grep java
# 检查端口监听状态(默认HTTPS端口9043)
netstat -tulnp | grep 9043

常见问题FAQ

Q1: 启动时报”Address already in use”错误怎么办?

A: 这是由于端口被其他进程占用导致的,解决方法如下:

  1. 查找占用进程:lsof -i :9043
  2. 终止冲突进程:kill -9 <PID>
  3. 若需更改WAS端口:
    • 编辑<PROFILE_ROOT>/config/cells/<cell_name>/nodes/<node_name>/servers/<server_name>/server.xml
    • 修改<httpEndpoint>标签下的httpDefaultPort属性值
  4. 重启WAS使配置生效。

Q2: 如何修改WAS的默认编码格式?

A: 默认编码为UTF-8,如需修改为GBK等编码:

  1. 编辑<PROFILE_ROOT>/config/cells/<cell_name>/nodes/<node_name>/processDefinition.xml
  2. 添加以下属性到<JavaProcessDef>节点:
    <JVMEntries xmi:type="javaProcessDefEntryType">
      <Entry key="java.util.logging.config.file" value="${SERVER_CONFIG_ROOT}/resources/logging.properties"/>
      <Entry key="sun.jnu.encoding" value="GBK"/>
    </JVMEntries>
  3. 重启WAS使配置生效。

最佳实践建议

  1. 资源隔离:为每个业务系统创建独立Profile,避免相互干扰。
  2. 性能调优:根据应用特点调整以下参数:
    • JVM堆大小(-Xmx):不超过物理内存的80%
    • 线程池大小(maximumPoolSize):CPU核心数×2+1
    • 连接池容量(maxConnections):根据数据库承载能力设定。
  3. 安全防护
    • 禁用不必要的管理端口(如9043改为高位端口)。
    • 启用TLS加密通信。
    • 定期轮换管理员密码。
  4. 备份策略:每日备份<PROFILE_ROOT>目录,保留最近7天的版本。
  5. 监控集成:将WAS日志接入ELK Stack,设置告警规则(如错误率超过阈值
0