You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以合规Ansible方式安装Amazon Linux 2的NewRelic PHP Agent?

正确的Ansible方式在Amazon Linux 2上安装NewRelic PHP Agent

你朋友遇到的问题其实很常见——核心是之前的仓库版本不匹配,以及没找对GPG密钥导入的正确姿势。用command模块虽然能临时解决问题,但确实不符合Ansible的幂等性原则,还会触发ansible-lint警告。下面给你一套完全符合规范的实现方案:

步骤1:导入NewRelic的GPG密钥

你提到的548C16BF.gpg正是NewRelic的官方签名密钥,我们可以用rpm_key模块直接从官方源导入,确保密钥被系统可信库认可:

- name: Import NewRelic GPG signing key
  rpm_key:
    key: https://download.newrelic.com/548C16BF.gpg
    state: present

步骤2:添加适配Amazon Linux 2的YUM仓库

注意!Amazon Linux 2兼容RHEL7生态,绝对不能用你之前的el5版本仓库,必须切换为el7的配置。用yum_repository模块定义仓库,完全符合Ansible最佳实践:

- name: Configure NewRelic YUM repository
  yum_repository:
    name: newrelic
    description: Official NewRelic Repository
    baseurl: https://yum.newrelic.com/pub/newrelic/el7/x86_64/
    gpgcheck: yes
    gpgkey: https://download.newrelic.com/548C16BF.gpg
    enabled: yes

步骤3:安装NewRelic PHP Agent

仓库配置完成后,直接用yum模块安装即可,模块会自动处理依赖和幂等性(仅在未安装时执行):

- name: Install NewRelic PHP Agent
  yum:
    name: newrelic-php5
    state: present

为什么之前的尝试会失败?

  • 仓库版本不匹配:你之前用的el5 repo包是适配老旧系统的,和Amazon Linux 2的RHEL7内核不兼容,会导致YUM找不到适配包、密钥验证失败。
  • GPG密钥导入不规范:手动复制repo文件后,如果没将密钥正确导入系统可信库,YUM会因为签名验证不通过而拒绝安装,rpm_key模块能确保密钥被正确识别。

替代方案:用官方Repo RPM包(仍符合规范)

如果你偏好官方打包的repo配置,也可以用yum模块安装,代替command调用——既保留官方包的便利性,又符合Ansible幂等要求:

- name: Install NewRelic official repo RPM
  yum:
    name: https://yum.newrelic.com/pub/newrelic/el7/x86_64/newrelic-repo-5-3.noarch.rpm
    state: present

这种方式会自动完成密钥导入和仓库配置,完全不需要额外的命令调用,也不会触发ansible-lint警告。

内容的提问来源于stack exchange,提问作者guessimtoolate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 16:32:45