was native_stderr.log 是否可以删除_WAS服务器四种应用更新模式

本文详细介绍了WAS服务器上应用程序的四种更新模式:整个ear文件更新、模块替换、单个文件替换、多个文件更新,强调了无中断更新的实现和操作步骤,包括集群环境的全局同步配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3a514f0d13ea96e93ef75f8843676075.png

》》》推荐阅读《《《

1、性能测试学习笔记-场景设计

2、性能测试的重要意义

3、性能分析流程及方法

4、应用系统性能调优之性能分析

WAS服务器四种应用更新模式 

最近有客户在咨询WAS服务器上应用程序的升级有哪些方式,怎么操作能无中断更新,因此专门对这方面的东西进行了总结和梳理,也分享给大家。

WAS服务器上的应用可以支持细粒度的应用更新,所以你可以对应用的一部分,或者某一个模块进行更新和升级,和重新启动相应的业务模块,而且实现了业务无中断更新。

分类说明如下:

  • 整个ear文件的更新

  • 应用包中一个模块(.jar,ejb.jar,.rar)替换、增加,或者去掉

  • 应用包中一个单独文件替换、增加或者去掉

  • 多个应用程序文件或者模块的的更新

下面分享一下具体的操作方式。

整个ear文件的更新

1. 点击 Applications Application Types  WebSphere enterprise applications.

选择英语程序更新,然后点击 Update.

2. 在 Preparing for theapplication update 页面(Figure 24-1), 选择 Replace the

entire application option (这是默认选项).

b1bb2ff8b8492f201f551280d0215c4b.png

3. 选择 Local file system 或者 Remotefile system option. 然后点击 Browse 选择要更新应用代码目录ear文件,然后选择Next。

4. 然后部署的过程中根据需求进行修改一些东西,最后到Summary 页面, 点击 Finish.

5. 重新确认更新的内容:

d512ca0806965405266d689912bd1717.png

然后点击save来保存设置。

6. 如果是集群分布式环境,则还需要进行全局同步配置。

7.部署需要几秒的时间,需要等待,同时可以看system.out日志来确定部署是否报错。

应用包中一个模块(.jar,ejb.jar,.rar)替换、增加,或者去掉

1. 点击 Applications Application Types  WebSphere enterprise applications.

选择英语程序更新,然后点击 Update.

2. 在 Preparing for theapplication update 页面(Figure 24-1), 选择Replace or add a single module .

f1499c7d0ab5e1587b12bc24dca4b590.png

3.指定这个模块包文件的路径,比如ejb.jar,这个包不在ear包里,保存一个路径下。这个文件将会增加到应用里面。

4. 选择 Local file system 或者 Remotefile system option. 然后点击 Browse 选择要更新应用代码目录ear文件,然后选择Next。

5. 然后部署的过程中根据需求进行修改一些东西,最后到Summary 页面, 点击Finish.

6. 更新配置到主配置,然后点击save。

7. 如果是集群分布式环境,则还需要进行全局同步配置。

 应用包中一个单独文件替换、增加或者去掉

替换或增加一个文件,比如一个class,一个Jsp,gif,properties

1. 点击 Applications Application Types  WebSphere enterprise applications.

选择英语程序更新,然后点击 Update.

2. 在 Preparing for theapplication update 页面(Figure 24-1), 选择Replace or add a single file .

3b998a258fed77825c421c1a2dffeb91.png

3.指定这个模块包文件的路径,比如logo.gif,这个文件不在ear包里,保存一个路径下。

4. 选择 Local file system 或者 Remote filesystem option. 然后点击 Browse 选择要更新应用代码目录ear文件,然后选择Next。

5. 然后部署的过程中根据需求进行修改一些东西,最后到Summary 页面, 点击 OK.

6. 更新配置到主配置,然后点击save。

7. 如果是集群分布式环境,则还需要进行全局同步配置。

多个应用程序或者模块的更新

多个文件的更新可以将要更新的文件压缩成一个zip或者gzip包。更加压缩包的文件,它会更新文件或者是增加文件,和删除文件。压缩文件必须是一个。

  • 要更新一个文件,压缩包中的文件必须要和原来部署的包的路径结构相同。

  • 如果是要增加一个文件的,这个文件在压缩包中的路径必须和原来的是不同的路径结构。

  • 如果是要删除原来已经安装的包里面的文件,必须要在META-INF / ibm-partialapp-delete.props文件中指定文件名。这个文件必须是ASCII格式,一行一行的指定文件名。要删除的文件不是相对路径。

比如要删除原来的docs/readme.txt文件,那么就要在ibm-partialapp-delete.props写ibm-partialapp-delete.props。

再比如要删除某一个hello.war包下的images/logo.jpg文件,则要在HelloWeb.war/META-INF/ibm-partialapp-delete.props 中增加一行images/logo.jpg

另外也可以用通配符,比如*.jsp就删除所有的Jsp.

  • ibm-partialapp-delete.props这个文件可以写多行

  • 举例:

下面是一个要更新的zip包。

4ffcbe57d69537daa9d6698ab42f0a45.png

ibm-partialapp-delete.props文件的内容如下:

docs/readme.txt

images/logo.gif

使用第4中选项(Replace, add, or delete multiple files)来更新,就如果产生如下结果:

  1. 增加log4j.jar到ear的根目录

  2. 更新替换HelloEJB.jar

  3. 从EAR文件删除文件/ readme.txt文件(如果存在的话),而不是从任何模块。

  4. 增加images/newlogo.jpg文件到HelloWeb.war

  5. 更新HelloServlet.class

  6. 删除images/logo.gif

执行步骤:

1. 点击 Applications Application Types  WebSphere enterprise applications.

选择英语程序更新,然后点击 Update.

2. 在 Preparing for theapplication update 页面, 选择Replace, add, or delete multiple files选项.

3.指定这个模块包文件的路径,比如logo.gif,这个文件不在ear包里,保存一个路径下。

4. 选择 Local file system 或者 Remotefile system option. 然后点击 Browse 选择要更新应用代码目录ear文件,然后选择Next。

5. 然后部署的过程中根据需求进行修改一些东西,最后到Summary 页面, 点击 OK.

6. 更新配置到主配置,然后点击save。

7. 如果是集群分布式环境,则还需要进行全局同步配置,点击Synchronize changes with Nodes,再点击Save。

总结

以上是分类说明WAS应用更新的四种模式,如果你的情况是选择最后一种,压缩包更新的,如果是没有ibm-partialapp-delete.props文件的话,应该是不会删除文件的,那么如果更新失败,很有可能是在解压缩的和分析的过程中,临时停止进程导致的。

》》》推荐阅读《《《

1、性能测试学习笔记-场景设计

2、Web站点性能调优完全攻略

3、应用系统性能调优之性能分析

4、Windows监控——性能指标详解

6、性能测试的重要意义

7、软件性能测试的本质_致命版

8、性能分析流程及方法

9、性能测试流程

10、性能测试从需求分析开始

11、性能测试指标

12、双活数据中心揭秘之—DB2 PureScale

13、循序渐进学习oracle

14、软件项目管理中的十个误区

15、功能测试方法总结及常见面试问题

16、MQ来账通道及队列配置

17、Linux命令大全整理

18、JMeter工具简单介绍

19、性能瓶颈分析方法

20、性能测试-LoadRunner操作流程之一

22、性能测试-LoadRunner操作流程之二

23、性能测试-LoadRunner操作流程之三

24、性能测试-脚本编写之一

25、性能测试-脚本编写之二

26、性能测试-脚本编写之三

27、性能测试-性能调优之一

28、性能测试-性能调优之二

2ea93190c692ea61eeedbdae4e1af8ea.png

<think>好的,我需要帮助用户解决在启动qx_cxems_service服务时因权限问题导致需要输入root密码的问题,特别是修改systemd配置以避免请求root权限,尤其是在执行chown命令时的权限问题。 首,用户提到在启动服务时遇到权限问题,尤其是在执行chown命令时需要root权限。这可能是因为服务启动时需要修改文件的所有权,而普通用户有权限这么做。根据引用[1],SUID权限可以让执行者临时拥有所有者的权限,但用户明确希望避免请求root权限,所以可能不希望设置SUID,尤其是像chown这样的命令,设置SUID可能有安全风险。 接下来,我需要考虑如何通过修改systemd的配置文件来解决这个问题。通常,systemd服务可以通过配置User和Group字段来指定运行服务的用户和组。如果服务以普通用户身份运行,但需要执行需要root权限的操作,如chown,可能需要进一步整权限或使用其他方法。 另外,引用[3]中提到了修改nginx配置文件并设置正确的用户和组,这可能是一个参考。也许用户需要确保服务运行时使用的用户对相关目录和文件有足够的权限,而不是依赖root权限。 可能的解决方案括: 1. 在systemd服务文件中指定User和Group,让服务以普通用户运行,但需要确保该用户有权限执行chown。不过,普通用户通常无法执行chown来改变文件所有者,除非有特殊权限。 2. 使用ACL(访问控制列表)为特定目录或文件赋予用户必要的权限,避免需要root权限。 3.服务启动前预设置好文件的所有权和权限,这样在服务运行时不需要再执行chown。 4. 如果必须使用chown,可能需要使用sudo并配置免密码执行,但这可能涉及安全风险,需要谨慎处理。 根据引用[4],在k8s的配置中修改apiserver的权限设置,可能需要类似的思路,服务的权限配置。但具体到systemd服务,应该重点放在服务本身的配置和文件权限设置上。 总结步骤可能括: - 检查服务需要修改的文件或目录,确保运行用户有所有权或写权限。 - 修改systemd服务的Unit文件,添加User和Group指令。 - 使用ExecStartPre命令预设置权限,可能需要辅助脚本。 - 如果有必要,配置polkit规则或sudoers文件允许特定命令无需密码,但需注意安全。</think>### 解决方案 要避免在启动`qx_cxems_service`时因`chown`命令请求root权限,需通过整systemd配置和文件权限实现: 1. **修改systemd服务配置** 在服务文件(如`/etc/systemd/system/qx_cxems_service.service`)中添加`User`和`Group`字段,指定服务以普通用户身份运行: ```ini [Service] User=appuser # 替换为实际用户 Group=appgroup # 其他配置保持不变 ``` 这将限制服务以非root用户运行,但需确保该用户对相关文件有操作权限[^1]。 2. **预置文件权限** 若服务启动时需要修改文件所有权(如`ExecStartPre=/bin/chown ...`),提前手动设置文件权限: ```bash sudo chown -R appuser:appgroup /path/to/target_directory ``` 避免在服务运行时动态整所有权。 3. **使用辅助脚本与ACL** 若必须动态修改权限: - 创建脚本`/usr/local/bin/setup_permissions.sh`: ```bash #!/bin/bash chown appuser:appgroup /path/to/file ``` - 赋予脚本执行权限并配置`setfacl`允许特定用户免密执行: ```bash sudo setfacl -m u:appuser:rx /usr/local/bin/setup_permissions.sh ``` 在systemd服务用脚本: ```ini ExecStartPre=/usr/local/bin/setup_permissions.sh ``` 4. **安全策略例外(谨慎使用)** 若仍需要`chown`权限,可通过`polkit`或`sudo`配置例外: - 编辑sudoers文件: ```bash appuser ALL=(root) NOPASSWD: /bin/chown appuser:appgroup /path/to/file ``` 修改systemd服务中的命令: ```ini ExecStartPre=sudo /bin/chown appuser:appgroup /path/to/file ``` **注意**:此方法需严格限制路径,避免安全漏洞[^1]。 --- ### 验证步骤 1. 重新加载systemd配置: ```bash sudo systemctl daemon-reload ``` 2. 启动服务并检查日志: ```bash sudo systemctl start qx_cxems_service journalctl -u qx_cxems_service ``` 3. 确认服务状态: ```bash systemctl status qx_cxems_service ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值