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

360弹出网站建设好网站需要做推广

360弹出网站,建设好网站需要做推广,装饰公司网站建设,一套完整的vi设计手册文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录handlers目录tasks目录templates目录vars目录 创建LNMP剧本文件 playbook二 Roles模块 角色的作用#xff1a;把playbook… 文章目录 playbook二Roles模块roles模式安装LNMP创建nginxfiles目录handlers目录tasks目录templates目录vars目录 创建mysqltasks目录 创建phpfiles目录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服务器第三个要配置成MySQLmariadb服务器。我们如何来定义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] namenginx repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestruehandlers目录 ### handlers目录中修改 main.yml 配置文件- name: reload nginxservice: name{{service}} statereloadedtasks目录 ###在 tasks 目录中##有两个 yml 文件 main.yml 和 init.yml (关闭防火墙的yum文件)### init.yml- name: disable firewalldservice: namefirewalld statestopped enabledno- name: disable selinuxshell: /usr/sbin/setenforce 0ignore_errors: true### main.yml- include: init.yml- name: copy nginx.repocopy: srcnginx.repo dest/etc/yum.repos.d/- name: install nginxyum: name{{service}} statelatest- name: copy index.phpcopy: srcindex.php dest{{root_dir}}- name: copy nginx.conftemplate: srcdefault.conf.j2 dest/etc/nginx/conf.d/default.confnotify: reload nginx- name: start nginxservice: name{{service}} statestarted enabledyestemplates目录 ##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: namefirewalld statestopped enabledno- name: disable selinuxshell: /usr/sbin/setenforce 0ignore_errors: true### main.yml- include: init.yml- name: yum remove mariadbyum: namemariadb* stateabsent- 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 regexpgpgcheck1 replacegpgcheck0ignore_errors: true- name: install mysqlyum: namemysql-server- name: start mysqldservice: namemysqld statestarted enabledyes- name: loginshell: mysql -uroot -p$(grep password /var/log/mysqld.log | awk NR1 {print $NF}) --connect-expired-password -e ALTER USER rootlocalhost IDENTIFIED BY Admin123;ignore_errors: true- name: grantmysqlshell: mysql -uroot -pAdmin123 -e grant all privileges on *.* to root% identified by Admin123 with grant option;ignore_errors: true创建php files目录 ##准备 index.php文件和www.conf文件###index.php文件#在验证php的创建结果时使用?php phpinfo(); ?##在验证数据库连接时使用?php $linkmysqli_connect(192.168.242.68,root,Admin123); if($link) echo h1Success!!/h1; else echo Fail!!; ?###修改www.conf文件##主要修改几行配置文件user php group php listen 192.168.242.69:9000 listen.allowed_clients 192.168.242.67handlers目录 ##修改配置文件vim main.yml- name: reload phpservice: name{{service}} statereloadedtasks目录 ##创建 init.yml和main.yml文件## 修改 init.yml文件- name: disable firewalldservice: namefirewalld statestopped enabledno- name: disable selinuxshell: /usr/sbin/setenforce 0ignore_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.rpmignore_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}} statedirectory- name: copy index.phpcopy: srcindex.php dest{{root_dir}}- name: modify php.initemplate: srcphp.ini.j2 dest/etc/php.ininotify: reload php- name: copy www.confcopy: srcwww.conf dest/etc/php-fpm.d/www.conf#- name: modify www.conf # template: srcwww.conf.j2 dest/etc/php-fpm.d/www.conf # notify: reload php- name: start phpservice: name{{service}} statestarted enabledyes 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://www.zqtcl.cn/news/967885/

相关文章:

  • 新闻类网站排版网站建设东莞正规网站建设
  • 网站开发亿玛酷出名5重庆公司买深圳社保
  • 网站建设开发报价单苏州网上注册公司流程
  • 网站开发包含河南洛阳网络公司
  • 个人网站建设方案书使用几号纸网站出租目录做菠菜 有什么坏处
  • 烟台做网站案例产品设计欣赏
  • 长安网站建设多少钱室内设计学校培训的
  • 驻马店北京网站建设怎么用网站做转换服务器
  • 成都网站建设cdxwcx百度搜索关键词排名优化推广
  • 框架网站怎么做o2o是什么意思的
  • 山东响应式网站网页设计素材电影
  • 新都区网站建设网站设计公司排行榜
  • 网站建设需求分析调研表建筑品牌网站
  • html5商城网站如何查询网站建设者
  • 做重视频网站教育网站改版方案
  • 小网站谁有网站上线后做什么
  • 松江网站建设培训手机网站你们
  • 荆州网站建设 众火网北京小客车指标调控管理信息系统
  • 域名和网站一样吗自己开发小程序要多少钱
  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码
  • 湖北网站建站系统哪家好微信小程序怎么注销账号
  • 温州网站推广公司沈阳网站建设服务电话
  • 2019年的阜南县建设修路网站洛阳哪里有做网站的
  • 家里电脑可以做网站服务器吗佛山网络公司哪家最好
  • 做网站属于无形资产还是费用网站制作二维码
  • ps为什么做不了视频网站最近做网站开发有前途没
  • 平面设计师参考网站做网站建设推广好做吗
  • 网站被别的域名绑定泰安做网站网络公司
  • 建设部网站业绩如何录入免费素材图片下载