"Failure talking to yum: Cannot find a valid baseurl for repo: remi"
"Failure talking to yum: Cannot find a valid baseurl for repo: remi"
我正在使用以下 ansible 脚本在 centOS 中安装 php-fpm 模块,但无法找出错误。
---
- hosts: all
become: yes
tasks:
- name: download remi release repo for php
get_url:
url: http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
dest: /tmp/remi-release-6.rpm
tags: php-fpm
- name: install remi repo
shell: /bin/rpm -Uvh /tmp/remi-release-6.rpm
register: remi_repo_result
failed_when: "'conflict' in remi_repo_result.stderr"
tags: php-fpm
- name: enable remi repo
ini_file: dest=/etc/yum.repos.d/remi.repo
section=remi
option=enabled
value=1
- name: install php-fpm and its deps
yum: name={{item}} state=present
with_items:
- php
- php-fpm
tags: php-fpm
- name: backup default php configuration
shell: /bin/cp /etc/php.ini /etc/php.default.ini creates=/etc/php.default.ini
tags: php-fpm
- name: display php errors when not in production
ini_file: dest=/etc/php.ini
section=PHP
option=display_errors
value=On
when: env is defined and env != "production"
notify:
- restart php-fpm
tags: php-fpm
- name: do not show php errors when in production
ini_file: dest=/etc/php.ini
section=PHP
option=display_errors
value=Off
when: env is defined and env == "production"
notify:
- restart php-fpm
tags: php-fpm
- name: backup default php-fpm configuration
shell: /bin/cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.default creates=/etc/php-fpm.d/www.conf.default
tags: php-fpm
- name: change php-fpm to listen on socket
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=listen
value=/var/run/php-fpm/php-fpm.sock
notify:
- restart php-fpm
tags: php-fpm
- name: php-fpm listen mode should always be 0666
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=listen.mode
value=0666
notify:
- restart php-fpm
tags: php-fpm
- name: change php-fpm user
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=user
value=nginx
notify:
- restart php-fpm
tags: php-fpm
- name: change php-fpm group
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=group
value=nginx
notify:
- restart php-fpm
tags: php-fpm
- name: start php-fpm
service: name=php-fpm state=running enabled=yes
tags: php-fpm
我在任务 "install php-fpm and its deps"
中遇到以下错误
失败:[127.0.0.1] (item=[u'php', u'php-fpm']) => {"ansible_loop_var": "item ", "changed": false, "item": ["php", "php-fpm"], "msg": "与 yum 通信失败:无法找到 repo 的有效 baseurl:雷米"}
有人可以帮忙解决这个问题吗?
注意:由于您没有提供完整和详细的相关任务 运行 也没有提供您 运行 目标的变量值,因此以下大部分内容都是从胡乱猜测中推导出来的剧本反对。
你上面的剧本有几个问题,最明显和最相关的一个是
- name: install remi repo
shell: /bin/rpm -Uvh /tmp/remi-release-6.rpm
register: remi_repo_result
failed_when: "'conflict' in remi_repo_result.stderr"
tags: php-fpm
很可能不会失败,尽管命令出错。
并且由于您没有在下一个 ini_file
任务中使用 create: false
,因此仍将创建仅包含
的 /etc/yum.repos.d/remi.repo
[remi]
enabled=1
(为此,我当然假设 env
未设置或与 production
不同)
从那里,你得到的信息是非常连贯的,因为回购 remi
.
实际上没有基础 url
您可能需要考虑的其他一些注意事项:
- 您可以通过直接将 url 作为
name
传递给 yum
模块来安装远程 rpm
- 你不应该遍历
yum
模块:直接在 name 属性中传递包列表(参见 doc)
- 不要
cp
与 shell 一起使用 copy
模块与 remote_src: true
- 使用 yaml 语法而不是 ini 样式的快捷语法
我正在使用以下 ansible 脚本在 centOS 中安装 php-fpm 模块,但无法找出错误。
---
- hosts: all
become: yes
tasks:
- name: download remi release repo for php
get_url:
url: http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
dest: /tmp/remi-release-6.rpm
tags: php-fpm
- name: install remi repo
shell: /bin/rpm -Uvh /tmp/remi-release-6.rpm
register: remi_repo_result
failed_when: "'conflict' in remi_repo_result.stderr"
tags: php-fpm
- name: enable remi repo
ini_file: dest=/etc/yum.repos.d/remi.repo
section=remi
option=enabled
value=1
- name: install php-fpm and its deps
yum: name={{item}} state=present
with_items:
- php
- php-fpm
tags: php-fpm
- name: backup default php configuration
shell: /bin/cp /etc/php.ini /etc/php.default.ini creates=/etc/php.default.ini
tags: php-fpm
- name: display php errors when not in production
ini_file: dest=/etc/php.ini
section=PHP
option=display_errors
value=On
when: env is defined and env != "production"
notify:
- restart php-fpm
tags: php-fpm
- name: do not show php errors when in production
ini_file: dest=/etc/php.ini
section=PHP
option=display_errors
value=Off
when: env is defined and env == "production"
notify:
- restart php-fpm
tags: php-fpm
- name: backup default php-fpm configuration
shell: /bin/cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.default creates=/etc/php-fpm.d/www.conf.default
tags: php-fpm
- name: change php-fpm to listen on socket
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=listen
value=/var/run/php-fpm/php-fpm.sock
notify:
- restart php-fpm
tags: php-fpm
- name: php-fpm listen mode should always be 0666
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=listen.mode
value=0666
notify:
- restart php-fpm
tags: php-fpm
- name: change php-fpm user
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=user
value=nginx
notify:
- restart php-fpm
tags: php-fpm
- name: change php-fpm group
ini_file: dest=/etc/php-fpm.d/www.conf
section=www
option=group
value=nginx
notify:
- restart php-fpm
tags: php-fpm
- name: start php-fpm
service: name=php-fpm state=running enabled=yes
tags: php-fpm
我在任务 "install php-fpm and its deps"
中遇到以下错误失败:[127.0.0.1] (item=[u'php', u'php-fpm']) => {"ansible_loop_var": "item ", "changed": false, "item": ["php", "php-fpm"], "msg": "与 yum 通信失败:无法找到 repo 的有效 baseurl:雷米"}
有人可以帮忙解决这个问题吗?
注意:由于您没有提供完整和详细的相关任务 运行 也没有提供您 运行 目标的变量值,因此以下大部分内容都是从胡乱猜测中推导出来的剧本反对。
你上面的剧本有几个问题,最明显和最相关的一个是
- name: install remi repo
shell: /bin/rpm -Uvh /tmp/remi-release-6.rpm
register: remi_repo_result
failed_when: "'conflict' in remi_repo_result.stderr"
tags: php-fpm
很可能不会失败,尽管命令出错。
并且由于您没有在下一个 ini_file
任务中使用 create: false
,因此仍将创建仅包含
/etc/yum.repos.d/remi.repo
[remi]
enabled=1
(为此,我当然假设 env
未设置或与 production
不同)
从那里,你得到的信息是非常连贯的,因为回购 remi
.
您可能需要考虑的其他一些注意事项:
- 您可以通过直接将 url 作为
name
传递给 - 你不应该遍历
yum
模块:直接在 name 属性中传递包列表(参见 doc) - 不要
cp
与 shell 一起使用copy
模块与remote_src: true
- 使用 yaml 语法而不是 ini 样式的快捷语法
yum
模块来安装远程 rpm