如何让本机做网站让内网访问小规模企业做网站
1前言
角色目录如下(分别为httpd角色和nginx角色)

 handlers/ :至少应该包含一个名为 main.yml 的文件; 其它的文件需要在此文件中通过include 
 
                 进行包含  
 
 vars/ :定义变量,至少应该包含一个名为 main.yml 的文件; 其它的文件需要在此文件中通 
 
                 过include进行包含  
 
 meta/ :定义当前角色的特殊设定及其依赖关系 , 至少应该包含一个名为 main.yml 的 文件, 其它 
 
                 文件需在此文件中通过include进行包含  
 
 default/ :设定默认变量时使用此目录中的 main.yml 文件  
 
 roles/appname  目录结构  
 
 tasks 目录:至少应该包含一个名为main.yml的文件,其定义了此角色的任务列表; 此文件可以 
 
                         使用include包含其它的位于此目录中的task文件  
 
 files 目录:存放由 copy 或 script 等模块调用的文件;  
 
 templates 目录: template 模块会自动在此目录中寻找 Jinja2 模板文件  
 
 handlers 目录:此目录中应当包含一个 main.yml 文件,用于定义此角色用到的各  
 
 handler ;  
 
 在 handler 中使用 include 包含的其它的 handler 文件也应该位 于此目录中;  
 
 vars 目录:应当包含一个 main.yml 文件,用于定义此角色用到的变量;  
 
 meta 目录:应当包含一个 main.yml 文件,用于定义此角色的特殊设定及其依赖关 系;  
 
 default 目录:为当前角色设定默认变量时使用此目录;应当包含一个 main.yml 文件  
 
 
2创建httpd角色
 mkdir  roles/httpd/tasks  -pv  
  mkdir  roles/httpd/{handlers,files}  
 
 2 >  
  创建目标文件  
  cd  roles/httpd/tasks/  
  touch  install.yml config.yml  service .yml  
  3 >  
  vim  install.yml  
  -  name: install httpd package  
  yum:  name = httpd  
  vim  config.yml  
  -  name: config file  
  copy:  src = httpd.conf  dest = /etc/httpd/conf/  backup = yes  
  vim service .yml  
  -  name:  start service  
  service :  name = httpd  state = started  enabled = yes  
  4 > 
  创建 main.yml 主控文件 , 调用以上单独的 yml 文件 ,  
  main.yml 定义了谁先执行谁后执行的顺序  
  vim  main.yml  
  -  include: install.yml  
  -  include: config.yml  
  -  include:  service .yml  
  5 >  
  准备 httpd.conf 文件 , 放到 httpd 单独的文件目录下  
  cp  /app/ansible/flies/httpd.conf ../files/  
  6 > 
  创建一个网页  
  vim  flies/index.html  
  <h1> welcome toyzh home <\h 1 > 7 >  创建网页的 yml 文件  
  vim  tasks/index.yml  
  -  name: index.html  
  copy:  src = index.html  dest = /var/www/html  
  8 >  
  将网页的 yml 文件写进 main.yml 文件中  
  vim  main.yml  
  -  include: install.yml  
  -  include: config.yml  
  -  include: index.yml  
  -  include:  service .yml  
  9 >  
  在 handlers 目录下创建 handler 文件 main.yml  
  vim  handlers/main.yml  
  -  name:  restart service  httpd  
  service :  name = httpd  state = restarted  
  10 > 
  创建文件调用 httpd 角色  
  cd  /app/ansible/roles  
  vim  role_httpd.yml  
  ---  
  # httpd role  
  -  hosts: appsrvs  
  remote_user: root  
  roles:  # 调用角色  
  -  role: httpd  
  11 >  
  查看目录结构  
  tree .  
  httpd  
  ├── files  
  │ ├── httpd.conf  
  │ └── index.html  
  ├── handlers  
  │ └── main.yml  
  └── tasks  
  ├── config.yml  
  ├── index.yml  
  ├── install.yml  
  ├── main.yml  
  └──  service .yml  
  12 > ansible-playbook role_httpd.yml 
 3创建nginx角色
 1 >  
  创建 nginx 角色目录  
  mkdir  -pv  /app/ansible/role  
  cd  /app/ansible/role  
  mkdir  nginx{tesks,templates,hanslers}  -pv  
  2 > 
  创建任务目录  
  cd  tasks/  
  touch  insatll.yml config.yml  service .yml file.yml user.yml  
  创建 main.yml 文件定义任务执行顺序  
  vim  main.yml  
  -  include: user.yml  
  -  include: insatll.yml  
  -  include: config.yml  
  -  include: file.yml  
  -  include:  service .yml  
  3 >  
  准备配置文件 (centos7 、 8)  
  ll /app/ansible/role/nginx/templates/  
  nginx8.conf.j2  
  4 >  
  定义任务  
  vim  tasks/install.yml  
  -  name: install  
  yum:  name = nginx  
  vim  tasks/config.yml  
  -  name: config file  
  template:  src = nginx8.conf.j2  dest = /etc/nginx/nginx.conf  
  when:  ansible_distribution_major_version == "8"  
  notify: restrat  
  vim  tasks/file.yml  跨角色调用 file.yum 文件 , 实现文件复用  
  -  name: index.html  
  copy:  src = roles/httpd/files/index.html  
  dest = /usr/share/nginx/html/  
  vim  tasks/service.yml  
  -  nmae:  start service  
  service :  name = nginx  state = started  enabled = yes  
  vim  handlers/main.yml  
  -  name: restrat  
  service :  name = nginx  state = restarted  
  vim  roles/role_nginix.yml  
  ---  
  #test rcle  
  -  hosts: appsrvs  
  roles:  
  -  role: nginx  
  5 >  
  测试安装  
  ansible-playbook role_nginx.yml  
 