当前位置: 首页 > news >正文

网站搭建书籍推荐个人自己免费建网站

网站搭建书籍推荐,个人自己免费建网站,凡科微信小程序免费版怎么样,做抖音seo用哪些软件文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录handlers目录tasks目录templates目录vars目录 创建LNMP剧本文件 playbook二 Roles模块 角色的作用:把playbook…

文章目录

  • playbook二
    • Roles模块
    • roles模式安装LNMP
      • 创建nginx
        • files目录
        • handlers目录
        • tasks目录
        • templates目录
        • vars目录
      • 创建mysql
        • tasks目录
      • 创建php
        • files目录
        • handlers目录
        • tasks目录
        • templates目录
        • vars目录
      • 创建LNMP剧本文件

playbook二

Roles模块

  • 角色的作用:把playbook剧本中的各个play看作为角色,将各个角色的task任务、vars变量、templates模板、files文件等内容放置到角色的目录中统一管理,需要的时候可在playbook中直接使用roles调用,所以roles可以实现playbook代码的复用
  • roles用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。
    简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include它们的一种机制。roles一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。主要使用场景代码复用度较高的情况下。
  • 假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成haproxy服务器,第三个要配置成MySQL(mariadb)服务器。我们如何来定义playbook?
    第一个play用到第一个主机上,用来构建httpd,第二个play用到第二个主机上,用来构建haproxy。这些个play定义在playbook中比较麻烦,将来也不利于模块化调用,不利于多次调用。比如说后来又加进来一个主机,这第3个主机既是httpd服务器,又是haproxy服务器,我们只能写第3个play,上面写上安装httpd和haproxy。这样playbook中的代码就重复了。
    为了避免代码重复,可以定义一个角色叫httpd,第二个角色叫haproxy,并使用roles实现代码重复被调用。
//roles 的目录结构:
cd /etc/ansible/
tree roles/
roles/
├── web/    #相当于 playbook 中的 每一个 play 主题
│   ├── files/
│   ├── templates/
│   ├── tasks/
│   ├── handlers/
│   ├── vars/
│   ├── defaults/
│   └── meta/
└── db/├── files/├── templates/├── tasks/├── handlers/├── vars/├── defaults/└── meta/
roles 内各目录含义解释
●files
用来存放由 copy 模块或 script 模块调用的文件。●templates
用来存放 jinjia2 模板,template 模块会自动在此目录中寻找 jinjia2 模板文件。●tasks
此目录应当包含一个 main.yml 文件,用于定义此角色的任务列表,此文件可以使用 include 包含其它的位于此目录的 task 文件。●handlers
此目录应当包含一个 main.yml 文件,用于定义此角色中触发条件时执行的动作。●vars
此目录应当包含一个 main.yml 文件,用于定义此角色用到的变量。●defaults
此目录应当包含一个 main.yml 文件,用于为当前角色设定默认变量。 这些变量具有所有可用变量中最低的优先级,并且可以很容易地被任何其他变量覆盖。所以生产中我们一般不在这里定义变量●meta
此目录应当包含一个 main.yml 文件,用于定义此角色的元数据信息及其依赖关系。

roles模式安装LNMP

###在 roles 目录中分别创建以各角色名称命名的目录,如 httpd、mysqlmkdir /etc/ansible/roles/nginx
mkdir /etc/ansible/roles/mysql
mkdir /etc/ansible/roles/php
###在每个角色命名的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录,用不到的目录可以创建为空目录,也可以不创建mkdir /etc/ansible/roles/nginx/{files,templates,tasks,handlers,vars,defaults,meta}
mkdir /etc/ansible/roles/mysql/{files,templates,tasks,handlers,vars,defaults,meta}
mkdir /etc/ansible/roles/php/{files,templates,tasks,handlers,vars,defaults,meta}
###在每个角色的 handlers、tasks、meta、defaults、vars 目录下创建 main.yml 文件,千万不能自定义文件名touch /etc/ansible/roles/nginx/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/mysql/{defaults,vars,tasks,meta,handlers}/main.yml
touch /etc/ansible/roles/php/{defaults,vars,tasks,meta,handlers}/main.yml

创建nginx

files目录

###files   目录中,准备需要的文件index.php
nginx.repo
###  index.php<?php
phpinfo();
?>
#  nginx.repo[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

handlers目录

###  handlers目录中修改  main.yml  配置文件- name: reload nginxservice: name={{service}} state=reloaded

tasks目录

###在  tasks  目录中##有两个  yml  文件
main.yml   和  init.yml  (关闭防火墙的yum文件)
###  init.yml- name: disable firewalldservice: name=firewalld  state=stopped  enabled=no- name: disable selinuxshell: "/usr/sbin/setenforce 0"ignore_errors: true
###  main.yml- include: "init.yml"- name: copy nginx.repocopy: src=nginx.repo dest=/etc/yum.repos.d/- name: install nginxyum: name={{service}} state=latest- name: copy index.phpcopy: src=index.php dest={{root_dir}}- name: copy nginx.conftemplate: src=default.conf.j2 dest=/etc/nginx/conf.d/default.confnotify: reload nginx- name: start nginxservice: name={{service}} state=started enabled=yes

templates目录

##templates目录  中存放  nginx 的  j2  的配置文件模板##修改几行listen       {{http_port}};
server_name  {{http_hostname}};root   {{root_dir}};location ~ \.php$ {root           {{root_dir}};fastcgi_pass   {{http_remote}};fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  {{root_dir}}$fastcgi_script_name;include        fastcgi_params;}

vars目录

##  在  vars目录中定义模板文件的变量值vim main.ymlhttp_port: 192.168.242.67:80
http_hostname: www.ggl.com
root_dir: /usr/share/nginx/html
http_remote: 192.168.242.69:9000
service: nginx

创建mysql

tasks目录

##在目录中创建  init.yml  和   main.yml  文件
###  init.yml- name: disable firewalldservice: name=firewalld  state=stopped  enabled=no- name: disable selinuxshell: "/usr/sbin/setenforce 0"ignore_errors: true
###  main.yml- include: "init.yml"- name: yum remove mariadbyum: name=mariadb* state=absent- name: install rpmshell: wget -P /etc/yum.repos.d/ http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmignore_errors: true- name: install noarch.rpmshell: yum -y install /etc/yum.repos.d/mysql57-community-release-el7-10.noarch.rpmignore_errors: true- name: replace wprdreplace: path=/etc/yum.repos.d/mysql-community.repo regexp='gpgcheck=1' replace='gpgcheck=0'ignore_errors: true- name: install mysqlyum: name="mysql-server"- name: start mysqldservice: name=mysqld state=started enabled=yes- name: loginshell: mysql -uroot -p"$(grep "password" /var/log/mysqld.log | awk 'NR==1 {print $NF}')" --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';"ignore_errors: true- name: grantmysqlshell: mysql -uroot -pAdmin@123 -e "grant all privileges on *.* to root@'%' identified by 'Admin@123' with grant option;"ignore_errors: true

创建php

files目录

##准备  index.php文件和www.conf文件
###index.php文件#在验证php的创建结果时,使用<?php
phpinfo();
?>##在验证数据库连接时,使用<?php
$link=mysqli_connect('192.168.242.68','root','Admin@123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
###修改www.conf文件##主要修改几行配置文件user = php
group = php
listen = 192.168.242.69:9000
listen.allowed_clients = 192.168.242.67

handlers目录

##修改配置文件vim main.yml- name: reload phpservice: name={{service}} state=reloaded

tasks目录

##创建  init.yml和main.yml文件
##  修改  init.yml文件- name: disable firewalldservice: name=firewalld  state=stopped  enabled=no- name: disable selinuxshell: "/usr/sbin/setenforce 0"ignore_errors: true
###  main.yml  文件- include: "init.yml"- name: install yum reposhell: "rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm"ignore_errors: true- name: install phpwith_items:- php72w- php72w-cli- php72w-common- php72w-devel- php72w-embedded- php72w-gd- php72w-mbstring- php72w-pdo- php72w-xml- php72w-fpm- php72w-mysqlnd- php72w-opcacheyum: name={{item}}- name: create php useruser: name={{user_name}}- name: create php groupgroup: name={{user_name}}- name: create web dirfile: name={{root_dir}} state=directory- name: copy index.phpcopy: src=index.php dest={{root_dir}}- name: modify php.initemplate: src=php.ini.j2 dest=/etc/php.ininotify: reload php- name: copy www.confcopy: src=www.conf dest=/etc/php-fpm.d/www.conf#- name: modify www.conf
#  template: src=www.conf.j2 dest=/etc/php-fpm.d/www.conf
#  notify: reload php- name: start phpservice: name={{service}} state=started enabled=yes

templates目录

##  php.ini.j2  配置文件模板###修改几行1097行
mysqli.default_socket = {{mysql_dir}}877行
date.timezone = {{timezone}}

vars目录

vim   main.ymlservice: php-fpm
timezone: Asia/Shanghai
user_name: php
http_port: 192.168.242.69:9000
remote_addr: 192.168.242.67
root_dir: /usr/share/nginx/html
mysql_dir: /var/lib/mysql/mysql.sock

创建LNMP剧本文件

vim lnmp.yaml- name: nginx playhosts: webserversremote_user: rootroles:- nginx- name: mysqp playhosts: dbserversremote_user: rootroles:- mysql- name: php playhosts: phpserversremote_user: rootroles:- php

在这里插入图片描述
在这里插入图片描述


文章转载自:
http://literalize.hqbk.cn
http://mischief.hqbk.cn
http://caressive.hqbk.cn
http://touchline.hqbk.cn
http://hydroextractor.hqbk.cn
http://professorship.hqbk.cn
http://hengest.hqbk.cn
http://trecento.hqbk.cn
http://inertion.hqbk.cn
http://ytterbic.hqbk.cn
http://assent.hqbk.cn
http://xylophonist.hqbk.cn
http://hypaethral.hqbk.cn
http://judaeophobe.hqbk.cn
http://outboard.hqbk.cn
http://bumbailiff.hqbk.cn
http://subequatorial.hqbk.cn
http://macerate.hqbk.cn
http://flagitate.hqbk.cn
http://progeny.hqbk.cn
http://reciprocity.hqbk.cn
http://stroller.hqbk.cn
http://calicle.hqbk.cn
http://unravel.hqbk.cn
http://oerlikon.hqbk.cn
http://banzai.hqbk.cn
http://copartner.hqbk.cn
http://chainwale.hqbk.cn
http://sagbag.hqbk.cn
http://villainage.hqbk.cn
http://anoxemia.hqbk.cn
http://chrysanth.hqbk.cn
http://phytogeography.hqbk.cn
http://speck.hqbk.cn
http://shareout.hqbk.cn
http://strike.hqbk.cn
http://brassage.hqbk.cn
http://drily.hqbk.cn
http://policymaker.hqbk.cn
http://centriole.hqbk.cn
http://approximately.hqbk.cn
http://horizon.hqbk.cn
http://centreless.hqbk.cn
http://soundscape.hqbk.cn
http://eduction.hqbk.cn
http://plagiarism.hqbk.cn
http://torso.hqbk.cn
http://backwardation.hqbk.cn
http://popinjay.hqbk.cn
http://puritanic.hqbk.cn
http://decagramme.hqbk.cn
http://trowbridge.hqbk.cn
http://choriocarcinoma.hqbk.cn
http://pancosmism.hqbk.cn
http://underprepared.hqbk.cn
http://exercitation.hqbk.cn
http://chasuble.hqbk.cn
http://bhojpuri.hqbk.cn
http://interlocutress.hqbk.cn
http://arytenoidal.hqbk.cn
http://subspecies.hqbk.cn
http://pruinose.hqbk.cn
http://sensorimotor.hqbk.cn
http://polonius.hqbk.cn
http://siderocyte.hqbk.cn
http://maim.hqbk.cn
http://toughness.hqbk.cn
http://cheekpiece.hqbk.cn
http://stoolball.hqbk.cn
http://irrefragable.hqbk.cn
http://recordership.hqbk.cn
http://raftsman.hqbk.cn
http://depopularize.hqbk.cn
http://thermochemistry.hqbk.cn
http://isoamyl.hqbk.cn
http://hematozoal.hqbk.cn
http://nemophila.hqbk.cn
http://nemertine.hqbk.cn
http://dizygous.hqbk.cn
http://galbanum.hqbk.cn
http://slackage.hqbk.cn
http://leadoff.hqbk.cn
http://heliambulance.hqbk.cn
http://dissector.hqbk.cn
http://incessant.hqbk.cn
http://immobility.hqbk.cn
http://bab.hqbk.cn
http://mithraicism.hqbk.cn
http://insectaria.hqbk.cn
http://allpossessed.hqbk.cn
http://turnipy.hqbk.cn
http://beehive.hqbk.cn
http://achaetous.hqbk.cn
http://inconceivability.hqbk.cn
http://bowstring.hqbk.cn
http://spectrophone.hqbk.cn
http://tristimulus.hqbk.cn
http://spiraculum.hqbk.cn
http://adularescent.hqbk.cn
http://untimeous.hqbk.cn
http://www.dt0577.cn/news/116764.html

相关文章:

  • 网站下载的wordpress模板如何添加中国关键词
  • b2b网站模板下载网站优化外包公司
  • 免费企业邮箱如何申请网站如何优化一个关键词
  • wordpress用户注册数据库网站优化推广公司
  • 免费做英语卷子的网站免费域名注册官网
  • 西安英文网站建设网络优化器
  • 经验丰富的网站制作公司学网络营销
  • 做视频投稿赚钱的网站线上营销推广方式有哪些
  • 西安搜索引擎杭州seo靠谱
  • 网站建设方案书seo关键技术有哪些
  • wordpress的站 做固定链接301重定向对百度的影响网络运营
  • 可以做翻译兼职的网站网络服务主要包括什么
  • wordpress首页导航seo是指什么
  • 台山网站建设公司公众号微博seo
  • 帝国网站调用图片集app代理推广平台
  • asp.net网站开发实训东莞网站到首页排名
  • ai里做的图片方网站上不清楚软文推广文章
  • 网站开发免费yw77731域名查询
  • wordpress出于安全考虑石家庄百度推广排名优化
  • 学做网站要多久东莞seo网络推广专
  • html做网站例子国外搜索引擎排名
  • 网站建设报价单 文库网站建设的流程是什么
  • 网站建设有什么理论依据中国女排联赛排名
  • 网站建设一般多少钱比较合适哈尔滨最新疫情通报
  • 做衬衣的网站赚钱平台
  • 做网站功能的框架结构图电商网站订烟
  • html5 jq做电脑网站新媒体运营岗位职责
  • 做目录的网站软文宣传
  • 真人性做爰视频网站bt磁力王
  • 珠海手机网站建设价格互联网推广销售