我已经完成了我的 ansible+vagrant 集成,在这里。Playbook 安装了我指示的所有内容。按照指示进行每个文件修改。但是当我检查我的本地机器时http:localhost:8080
,http://127.0.0.1:8080
它永远不会适用于 index.php 文件。它总是下载文件。因此,为了使其正常工作,我必须登录到 vagrant box 并点击以下命令到服务器以提供 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 clone 的任务。如下所示。
- name: Application git clone
git:
repo: https://github.com/shaileshsutar88/deploy.git
dest: /var/www/html
notify:
- restart services
我不确定我在这里做错了什么,或者我是否遗漏了什么。否则我想了解更多关于 ansible 执行流程的信息。当我用详细检查 ansible 执行时,它说好的,这意味着处理程序没有运行。我想知道为什么它没有运行处理程序,因为我在我的应用程序的 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 存储库并看到您定义了一个“重新加载服务”处理程序,但从未使用过它(或者至少我没有看到它)
你需要这样做: