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

自己本地可以做网站服务器吗徐州seo代理计费

自己本地可以做网站服务器吗,徐州seo代理计费,建筑室内设计软件,wordpress评论图片目录 一.roles概述 1.roles角色 2.roles的目录层次 2.1.roles 内各目录含义解释 二.实操 1.部署nginx 2.部署MySQL 3.部署php 4.编写测试文件 三.总结 一.roles概述 1.roles角色 可以把playbook剧本里的每个play看作为一个角色,将每个角色要用到的文件、…

目录

一.roles概述

1.roles角色

2.roles的目录层次

2.1.roles 内各目录含义解释

二.实操

1.部署nginx

2.部署MySQL

3.部署php

4.编写测试文件

三.总结


一.roles概述

1.roles角色

可以把playbook剧本里的每个play看作为一个角色,将每个角色要用到的文件、变量、任务列表定

义到对应角色的目录中,需要时可以直接在playbook中调用角色

作用

实现在playbook中代码复用

2.roles的目录层次

cd /etc/ansible/
tree roles/
roles/
├── web/    #相当于 playbook 中的 每一个 play 主题
│   ├── files/       #用来存放由 copy 模块或 script 模块调用的文件。
│   ├── templates/   #用来存放 jinjia2 模板,template 模块会自动在此目录中寻找 jinjia2 模板文件。
│   ├── tasks/       #此目录应当包含一个 main.yml 文件,用于定义此角色的任务列表,此文件可以使用 include 包含其它的位于此目录的 task 文件。
│   ├── handlers/    #此目录应当包含一个 main.yml 文件,用于定义此角色中触发条件时执行的动作。
│   ├── vars/        #此目录应当包含一个 main.yml 文件,用于定义此角色用到的变量。
│   ├── defaults/    #此目录应当包含一个 main.yml 文件,用于为当前角色设定默认变量。 这些变量具有所有可用变量中最低的优先级,并且可以很容易地被任何其他变量覆盖。所以生产中我们一般不在这里定义变量
│   └── meta/        #此目录应当包含一个 main.yml 文件,用于定义此角色的元数据信息及其依赖关系。 
└── db/├── files/├── templates/├── tasks/├── handlers/├── vars/├── defaults/└── meta/

2.1.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 文件,用于定义此角色的元数据信息及其依赖关系

二.实操

1.部署nginx

cd /opt
mkdir nginx
cd nginx/
上传nginx.repo、nginx.conf,并且修改nginx.conf为nginx.conf.j2
vim nginx.conf.j2
37、38行
listen       {{nginx_addr}}:{{nginx_port}};server_name  {{nginx_hostname}};
45行
root   {{root_dir}};
68行
fastcgi_pass   {{php_addr}}:{{php_port}};
70行
fastcgi_param  SCRIPT_FILENAME  {{root_dir}}$fastcgi_script_name;

vim lnmp-playbook.yaml
- name: nginx playhosts: webserversremote_user: rootgather_facts: falsevars:- nginx_addr: 192.168.80.101- nginx_port: 80- nginx_hostname: www.xy101.com- root_dir: /var/www/html- php_addr: 192.168.80.102- php_port: 9000tasks:- name: disable firewalldservice: name=firewalld state=stopped enabled=no- name: disable selinuxcommand: 'setenfoce 0'ignore_errors: true- name: copy nginx repocopy: src=/opt/nginx/nginx.repo dest=/etc/yum.repos.d/- name: install nginxyum: name=nginx state=latest- name: create root dirfile: path={{root_dir}} state=directory- name: copy nginx config template filetemplate: src=/opt/nginx/nginx.conf.j2 dest=/etc/nginx/nginx.confnotify: 'reload nginx'- name: create nfs configcopy: content="{{root_dir}} 192.168.80.0/24(rw,sync,no_root_squash)" dest=/etc/exports- name: restart rpcbind,nfs,nginxservice: name={{item}} state=restarted enabled=yeswith_items:- rpcbind- nfs- nginxhandlers:- name: reload nginxservice: name=nginx state=reloadedansible-playbook lnmp-playbook.yaml

2.部署MySQL

- name: mysql playhosts: dbserversremote_user: rootgather_facts: falsetasks:- name: disable mysql_server firewalldservice: name=firewalld  state=stopped  enabled=no- name: disable mysql_server selinuxcommand: 'setenforce 0'ignore_errors: true- name: remove mariadbyum: name=mariadb*  state=absent- name: copy mysql repocopy: src=/opt/mysql/mysql-community.repo  dest=/etc/yum.repos.d/- name: modify mysql reporeplace: path=/etc/yum.repos.d/mysql-community.repo  regexp="gpgcheck=1"  replace="gpgcheck=0"- name: install mysqlyum: name=mysql-server state=present- name: start mysqlservice: name=mysqld  state=started  enabled=yes- name: init mysqlscript: '/opt/mysql/mysql-init.sh'

3.部署php

- name: php playhosts: phpserversremote_user: rootgather_facts: falsevars:- php_username: nginx- php_addr: 192.168.80.102:9000- nginx_addr: 192.168.80.101- root_dir: /var/www/htmltasks:- name: disable php_server firewalldservice: name=firewalld  state=stopped  enabled=no- name: disable php_server selinuxcommand: 'setenforce 0'- name: unarchive php tar pkgunarchive: copy=yes  src=/opt/php/php.tar.gz  dest=/mnt/- name: copy local repocopy: src=/opt/php/local.repo  dest=/etc/yum.repos.d/- name: create reposhell: 'createrepo /mnt && yum clean all && yum makecache'- name: install phpyum: name=php72w,php72w-cli,php72w-common,php72w-devel,php72w-embedded,php72w-gd,php72w-mbstring,php72w-pdo,php72w-xml,php72w-fpm,php72w-mysqlnd,php72w-opcache,php72w-ldap,php72w-bcmath  state=present- name: create php useruser: name={{php_username}}  shell=/sbin/nologin  create_home=no- name: modify php.inireplace: path=/etc/php.ini  regexp=";date.timezone ="  replace="date.timezone = Asia/Shanghai"- name: modify user and group in www.confreplace: path=/etc/php-fpm.d/www.conf  regexp="apache"  replace="{{php_username}}"notify: "reload php-fpm"- name: modify listen in www.confreplace: path=/etc/php-fpm.d/www.conf  regexp="127.0.0.1:9000"  replace="{{php_addr}}"notify: "reload php-fpm"- name: modify listen.allowed_clients in www.confreplace: path=/etc/php-fpm.d/www.conf  regexp="127.0.0.1"  replace="{{nginx_addr}}"notify: "reload php-fpm"- name: start php-fpmservice: name=php-fpm  state=started  enabled=yes- name: create www root dirfile: path={{root_dir}}  state=directory- name: mount nfsmount: src="{{nginx_addr}}:{{root_dir}}"  path={{root_dir}}  fstype=nfs  state=mounted  opts="defaults,_netdev"handlers:- name: reload php-fpmservice: name=php-fpm  state=reloaded

4.编写测试文件

cd /var/www/html
vim index.php<?php
phpinfo();
?>

浏览器访问测试

三.总结

roles目录格式
 

roles/                    #角色总目录,其每个子目录就是一个角色目录nginx/                     #角色目录,一个角色相当于playbook中的一个play主题,目录名就是角色名files/                       #存放copy、script、unarchive等模块默认调用的文件templates/                   #存放template模块默认调用的模板文件tasks/mian.yml               #定义此角色的tasks任务列表handlers/mian.yml            #定义此角色通过nofity触发执行的handlers任务列表vars/mian.yml                #定义此角色使用的自定义变量defaults/mian.yml            #定义此角色使用的默认变量(一般不用)meta/mian.yml                #定义此角色的元数据信息和依赖关系mysql/....php/....vim XXX.yaml
- name:hosts:remote_user:roles:- 角色名1- 角色名2....ansible-playbook XXX.yaml
http://www.ds6.com.cn/news/51734.html

相关文章:

  • 现在个人做网站还能盈利吗惠州seo外包公司
  • 易语言做网站图片下载百度seo软件
  • 工程建设项目包括哪些项目优化大师有必要安装吗
  • 青岛市城乡建设委员会官网网站近三天新闻50字左右
  • jsp企业网站开发毕业论文软件外包公司有哪些
  • wordpress 删除版权如何提高网站seo排名
  • 建设公司网站的必要性百度pc网页版登录入口
  • 手机搭建平台网站2023智慧树网络营销答案
  • 做网站点击率赚钱吗有没有好用的网站推荐
  • 网站建设 外包关键词排名优化怎么做
  • 网站的seo相关指标网络公司排行榜
  • 重庆网站建设网站制作百度客服人工在线咨询
  • 京东网站建设策略小程序模板
  • 人力资源公司加盟合作百度竞价推广关键词优化
  • 上海兼职做网站sem seo
  • 汕头潮南疫情最新消息手机优化软件
  • 高端网站设计多少钱培训师资格证怎么考
  • 网站定制公司哪家最权威百度登录入口百度
  • 网站支付链接怎么做深圳市推广网站的公司
  • 响应式网站项目网站优化+山东
  • 马尼拉做网站关键词优化网站排名
  • 代做视频的网站好seo上排名
  • 高效网站建设公司宁波网站优化公司哪家好
  • 用php做网站的新闻百度seo优化网站
  • 长沙专业做网站的公司怎么找一手app推广代理
  • 上海网站建设企业名录域名解析网站
  • 最新注册网址查询上海百度关键词优化公司
  • table做网站竞价运营是做什么的
  • 网站建设公司 深圳google关键词搜索技巧
  • 广州做服装电商拿货的网站免费网站seo优化