hosts.yml.example 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Ansible Inventory
  2. # 复制此文件为 inventory/hosts.yml 并填入实际的服务器信息
  3. # 该文件已被 .gitignore 排除,不会进入版本控制
  4. all:
  5. children:
  6. # ============================================================
  7. # servers: 所有受管服务器的父组
  8. # base role 会在此组的所有主机上运行
  9. # ============================================================
  10. servers:
  11. hosts:
  12. # -------------------- server1 --------------------
  13. server1:
  14. # ansible_host: 服务器的公网 IP 地址或域名
  15. # Ansible 将通过此地址 SSH 连接到服务器
  16. ansible_host: 1.2.3.4
  17. # ansible_user: SSH 登录用户名
  18. # 可以是 root,也可以是具有 sudo 权限的普通用户(如 ubuntu, debian)
  19. # 如果为非 root 用户,请确保该用户已配置 sudo 免密
  20. ansible_user: root
  21. # ansible_port: SSH 连接端口(Ansible 原生变量)
  22. # 默认 22,如果服务器使用非标准 SSH 端口则修改此项
  23. ansible_port: 22
  24. # ssh_port: 服务器实际运行的 SSH 端口(本项目自定义变量)
  25. # base role 会根据此值配置 sshd 和 UFW 防火墙
  26. # 若省略,则默认使用 ansible_port 的值
  27. ssh_port: 22
  28. # ansible_ssh_private_key_file: SSH 私钥路径
  29. # 指定用于连接该服务器的 SSH 私钥文件
  30. # 如果省略,将使用 ssh-agent 或默认的 ~/.ssh/id_rsa
  31. # ansible_ssh_private_key_file: ~/.ssh/my_server_key
  32. # -------------------- server2 --------------------
  33. server2:
  34. ansible_host: 5.6.7.8
  35. ansible_user: ubuntu
  36. ansible_port: 22
  37. ssh_port: 22
  38. # ============================================================
  39. # snell: 需要部署 Snell 服务的服务器组
  40. # 通过 children.servers 继承 servers 组中的所有主机
  41. # 也可以单独列出特定主机,只在这些主机上部署 Snell
  42. # ============================================================
  43. snell:
  44. children:
  45. servers:
  46. # 示例:只在特定子集上部署 Snell
  47. # hosts:
  48. # server1:
  49. # ============================================================
  50. # trojan: 需要部署 Trojan 服务的服务器组
  51. # 通过 children.servers 继承 servers 组中的所有主机
  52. # 也可以单独列出特定主机
  53. # ============================================================
  54. trojan:
  55. children:
  56. servers:
  57. # 示例:只在特定子集上部署 Trojan
  58. # hosts:
  59. # server1:
  60. # ================================================================
  61. # 字段速查表
  62. # ================================================================
  63. #
  64. # ansible_host 必填 服务器 IP 或域名,Ansible 实际连接的地址
  65. # ansible_user 必填 SSH 登录用户名
  66. # ansible_port 可选 SSH 连接端口(默认 22)
  67. # ssh_port 可选 服务器 sshd 实际监听端口(默认取 ansible_port)
  68. # ansible_ssh_private_key_file 可选 SSH 私钥路径
  69. # ansible_ssh_extra_args 可选 额外的 SSH 参数
  70. #
  71. # ================================================================
  72. # 组说明
  73. # ================================================================
  74. #
  75. # servers base role 的目标组,所有服务器必须在此组中
  76. # snell snell role 的目标组,继承 servers 或单独定义
  77. # trojan trojan role 的目标组,继承 servers 或单独定义
  78. #
  79. # 注意:一台服务器可以同时属于 snell 和 trojan 组,
  80. # 此时该服务器会同时部署两种服务。