thorian93.webserver
Ansible 角色:Web服务器
不再维护!已迁移到集合!
这个角色已迁移到我的主要集合。
它在这里不再维护!
请前往集合获取最新内容。
这个角色是一个元角色,用于统一使用Web服务器角色。它提供了可以在不同角色中使用的变量。
这里没有龙!
这里没有龙了。
需求
没有特别的要求;注意这个角色需要根访问权限,所以要么在带有全局 become: yes
的剧本中运行它,或者像下面这样在你的剧本中调用角色:
- hosts: foobar
roles:
- role: thorian93.webserver
become: yes
角色变量
注意,vars/
目录中的变量不打算直接使用!
请参考这个角色发现的变量:
webserver_name: []
Web服务器的名称。目前可以发现的有:apache2
、httpd
和 nginx
。
webserver_user: []
Web服务器运行的用户。有关详细信息,请参见 vars/
中的相应文件。
webserver_conf_file: []
Web服务器的主要配置文件。有关详细信息,请参见 vars/
中的相应文件。
为了完全披露,vars/Debian.yml
、vars/RedHat.yml
和 vars/Suse.yml
中的变量在这里列出:
webserver_apache_name: apache2
webserver_apache_user: www-data
webserver_apache_conf_file: /etc/apache2/apache2.conf
webserver_apache_manager: apache2ctl
webserver_apache_site_dir: "/etc/{{ webserver_apache_name }}/sites-available"
这些变量描述了 Apache2 Web 服务器。
webserver_nginx_name: nginx
webserver_nginx_user: nginx
webserver_nginx_conf_file: /etc/nginx/nginx.conf
webserver_nginx_manager: nginx
webserver_nginx_site_dir: "/etc/{{ webserver_nginx_name }}/conf.d"
这些变量描述了 NGINX Web 服务器。
依赖关系
无。
操作系统兼容性
此角色通过检查专用变量 <role-name>_stable_os
中是否存在正确的发行版本名称和主版本号,确保不会在不受支持或未经测试的操作系统上使用。你可以在角色的默认变量文件 defaults/main.yml
中找到该变量:
role_stable_os:
- Debian 10
- Ubuntu 18
- CentOS 7
- Fedora 30
如果发行版和主版本号的组合与目标系统不匹配,角色将失败。要使角色正常工作,请将发行版名称和主版本号添加到该变量中即可。但请先测试新的组合!
感谢 HarryHarcourt 的这个想法!
示例剧本
---
- name: "运行角色。"
hosts: all
become: yes
roles:
- ansible-role-webserver
贡献
如果你发现任何错误、问题,或有改进的空间,请随时提交问题。此外,如有任何疑问或讨论,请随时与我联系。
免责声明
该角色按原样提供,我无法保证角色按预期工作,也不对此角色造成的任何损害或错误配置负责。在使用之前,请仔细研究该角色。
许可证
MIT
作者信息
该角色由 Thorian93 于 2020 年创建。