templates - 如何使用临时命令将模板 sites_enabled.j2 复制到 /etc/nginx/sites-enabled/default 中。& 如何使用 shell 启动 nginx?
问题描述
模板被正常复制/etc/nginx/sites-enabled
在运行此命令时:ansible localhost -b -m copy -a "src=/abc/efg/ngs/templates/sites-enabled.j2 dest=/etc/nginx/sites-enabled"
文件被复制。
:/etc/nginx/sites-enabled$ ls
将输出作为default
& sites-enabled.j2
。
如何将提供的模板复制/ngs
到/etc/nginx/sites-enabled/default
以及如何使用临时命令启动 nginx?
解决方案
我从你的问题中了解到的是:
您想将多个模板文件从 复制
src = "/abc/efg/ngs/"
到dest = "/etc/nginx/sites-enabled/default"
.你想重启 Nginx。
要使用 Adhoc 命令实现此目的:
复制文件:
ansible localhost -b -m copy -a "src=/abc/efg/ngs/templates dest=/etc/nginx/sites-enabled/default/
使用命令模块启动 NGINX:
ansible localhost -m command -a "systemctl start nginx"
使用外壳模块启动 NGINX:
ansible localhost -m shell -a "systemctl start nginx"
参考临时命令:https ://docs.ansible.com/ansible/latest/user_guide/intro_adhoc.html
要使用 playbook 命令实现此目的:
- name: Copying files from source to destination
copy:
src: /abc/efg/ngs/templates
dest: /etc/nginx/sites-enabled/default/
owner: foo
group: foo
mode: 0644
- name: Starting nginx
command: systemctl start nginx
参考:https ://docs.ansible.com/ansible/2.4/copy_module.html
参考:https ://docs.ansible.com/ansible/latest/collections/ansible/builtin/command_module.html
但是我建议如果您了解处理程序,因为当您希望仅在发生更改时重新启动/重新加载任何服务时,它们对执行此类任务非常有帮助。
参考:https ://docs.ansible.com/ansible/latest/user_guide/playbooks_handlers.html
如果你问别的,请告诉我。
推荐阅读
- power-virtual-agents - 如何更改 Power Virtual 代理中的用户图标?
- wordpress-rest-api - WP REST API:图像字段到 javascript
- javascript - 如何将我的 React 组件转换为功能并使用钩子?
- git - 如何在 git 提交之前获取最后一个版本
- jenkins - Jenkins - Selenium:试图访问 testng failed.xml。?通过 jenkins 运行脚本时该文件将位于何处
- javascript - getStaticProps 不适用于 Nextjs 中的 getInitialProps
- html - 如何设置 MailChimp 模板的样式,以免触发 Gmail 移动优化?
- apache-flink - Flink keyBy 在选项列表上
- next.js - Vercel - TypeError:无法读取未定义的属性“系统”
- swift - 尝试从 Firebase Cloud 获取用户和名称(Swift 中的搜索栏)