Назад | Перейти на главную страницу

понимание доступного потока выполнения

Я завершил интеграцию ансибл + бродяга, которая Вот. Playbook устанавливает все, что я проинструктировал. выполняет все изменения файла в соответствии с инструкциями. Но когда я проверяю свою локальную машину, используя http:localhost:8080 или http://127.0.0.1:8080 он никогда не работает с файлом index.php. Он всегда загружает файл. Итак, чтобы заставить его работать, мне нужно войти в бродячий ящик и нажать ниже команды на сервер, чтобы обслуживать страницу php.

sudo service nginx restart
sudo service php7.0-fpm restart

Я уже определил обработчик для перезапуска службы, как показано ниже.

- name: "restart services"
  service: >
    name= "{{ item }}"
    state=restarted
  with_items:
    - nginx
    - php7.0-fpm

У меня есть задача, которая требует клонирования приложения git. как показано ниже.

- name: Application git clone
  git: 
    repo: https://github.com/shaileshsutar88/deploy.git
    dest: /var/www/html
  notify:
    - restart services

Я не уверен, что я здесь делаю неправильно или что-то упустил. В противном случае я хотел бы больше узнать о доступном потоке выполнения. Когда я проверяю доступное выполнение с подробным описанием, он говорит ОК, что означает, что обработчики не работают. Мне интересно, почему он не запускает обработчики, поскольку я вызываю его после git clone моего приложения.

RUNNING HANDLER [web : restart services] ***************************************
ok: [web] => (item=nginx) => {"changed": false, "failed": false, "item": "nginx", "name": "", "status": {}}
ok: [web] => (item=php7.0-fpm) => {"changed": false, "failed": false, "item": "php7.0-fpm", "name": "", "status": {}}

Если ваш NGINX начинает загружать файл, это обычно означает, что ваш обработчик PHP настроен неправильно. Вы пытались создать, например, robots.txt и открыть его? Должен работать без необходимости его загрузки.

Как вчера заметил Константин, вам следует использовать обработчики. Я прочитал ваше репозиторий на github и увидел, что вы определили обработчик "reload services", но никогда его не использовали (или, по крайней мере, я его не видел)

Сделать это нужно с помощью:

  - name: write the apache config file
    template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf
    notify:
      - reload services