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

网站如何做死链接提交客户关系管理

网站如何做死链接提交,客户关系管理,网站建设设计有哪些,苏州做网站设计的公司目录 一、playbook的组成 二、 playbook安装httpd服务 1.编写playbook剧本 2.运行playbook 三、定义、引用变量 四、 指定远程主机sudo切换用户 五、when条件判断 六、迭代 七、Templates 模块 1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变…

目录

一、playbook的组成

二、 playbook安装httpd服务

1.编写playbook剧本

 2.运行playbook

三、定义、引用变量

四、 指定远程主机sudo切换用户

五、when条件判断

六、迭代

七、Templates 模块

1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量

2.修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量

3.编写 playbook

八、tags 模块

九、利用playbook部署lnmp集群

1.修改nginx配置文件

2.编写lnmp的剧本

3.运行playbook并访问验证


一、playbook的组成

  1. Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行
  2. Variables:变量
  3. Templates:模板
  4. Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作
  5. Roles:角色

二、 playbook安装httpd服务

1.编写playbook剧本

vim test1.yaml
---     #yaml文件以---开头,以表明这是一个yaml文件,可省略
- name: first play     #定义一个play的名称,可省略gather_facts: false    #设置不进行facts信息收集,这可以加快执行速度,可省略hosts: webservers    #指定要执行任务的被管理主机组,如多个主机组用冒号分隔remote_user: root    #指定被管理主机上执行任务的用户tasks:     #定义任务列表,任务列表中的各任务按次序逐个在hosts中指定的主机上执行- name: test connection    #自定义任务名称ping:     #使用 module: [options] 格式来定义一个任务- name: disable selinuxcommand: '/sbin/setenforce 0'    #command模块和shell模块无需使用key=value格式ignore_errors: True     #如执行命令的返回值不为0,就会报错,tasks停止,可使用ignore_errors忽略失败的任务- name: disable firewalldservice: name=firewalld state=stopped    #使用 module: options 格式来定义任务,option使用key=value格式- name: install httpdyum: name=httpd state=latest- name: install configuration file for httpdcopy: src=/opt/httpd.conf dest=/etc/httpd/conf/httpd.conf    #这里需要一个事先准备好的/opt/httpd.conf文件notify: "restart httpd"    #如以上操作后为changed的状态时,会通过notify指定的名称触发对应名称的handlers操作- name: start httpd serviceservice: enabled=true name=httpd state=startedhandlers:     #handlers中定义的就是任务,此处handlers中的任务使用的是service模块- name: restart httpd    #notify和handlers中任务的名称必须一致service: name=httpd state=restarted
##Ansible在执行完某个任务之后并不会立即去执行对应的handler,而是在当前play中所有普通任务都执行完后再去执行handler,这样的好处是可以多次触发notify,但最后只执行一次对应的handler,从而避免多次重启。

 2.运行playbook

ansible-playbook test1.yaml//补充参数:
-k(–ask-pass):用来交互输入ssh密码
-K(-ask-become-pass):用来交互输入sudo密码
-u:指定用户
ansible-playbook test1.yaml --syntax-check    #检查yaml文件的语法是否正确
ansible-playbook test1.yaml --list-task       #检查tasks任务
ansible-playbook test1.yaml --list-hosts      #检查生效的主机
ansible-playbook test1.yaml --start-at-task='install httpd'     #指定从某个task开始运行

三、定义、引用变量

- name: second playhosts: webserversremote_user: rootvars:                 #定义变量- groupname: mysql   #格式为 key: value- username: nginxtasks:- name: create groupgroup: name={{groupname}} system=yes gid=306    #使用 {{key}} 引用变量的值- name: create useruser: name={{username}} uid=306 group={{groupname}} - name: copy filecopy: content="{{ansible_default_ipv4}}" dest=/opt/vars.txt    #在setup模块中可以获取facts变量信息copy: content="{{ansible_default_ipv4.address}}" dest=/opt/vars.txt    #在setup模块中可以获取facts变量信息下子字段address字段值(IP地址)

- name: second playhosts: webserversremote_user: roottasks:- name: create groupgroup: name={{groupname}} system=yes gid=306- name: create useruser: name={{username}} uid=306 group={{groupname}}- name: copy filecopy: content="{{ansible_default_ipv4}}" dest=/opt/vars.txtcopy: content="{{ansible_default_ipv4.address}}" dest=/opt/vars.txt                                                                       

四、 指定远程主机sudo切换用户

- hosts: dbserversremote_user: zhangsan            become: yes	                 #2.6版本以后的参数,之前是sudo,意思为切换用户运行become_user: root              #指定sudo用户为root
执行playbook时:ansible-playbook test3.yml -k -K 

五、when条件判断

在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务执行,否则不执行该任务。

#when一个比较常见的应用场景是实现跳过某个主机不执行任务或者只有满足条件的主机执行任务
vim test3.yaml
---
- hosts: allremote_user: roottasks:- name: shutdown host command: /sbin/shutdown -r nowwhen: ansible_default_ipv4.address == "192.168.88.20"      #when指令中的变量名不需要手动加上 {{}} #when: inventory_hostname == "<主机名>"ansible-playbook test4.yaml

六、迭代

Ansible提供了很多种循环结构,一般都命名为with_items,作用等同于 loop 循环。

- name: play1hosts: dbserversgather_facts: falsetasks: - name: create filefile:path: "{{item}}"state: touchwith_items: [ /opt/a, /opt/b, /opt/c, /opt/d ]- name: play2hosts: dbserversgather_facts: false		vars:test:- /tmp/test1- /tmp/test2- /tmp/test3- /tmp/test4tasks: - name: create directoriesfile:path: "{{item}}"state: directorywith_items: "{{test}}"   #循环引用变量- name: play3hosts: dbserversgather_facts: falsetasks:- name: add usersuser: name={{item.name}} state=present groups={{item.groups}}with_items:                  #多参数循环- name: test1groups: wheel- name: test2groups: root
或with_items:- {name: 'test1', groups: 'wheel'}- {name: 'test2', groups: 'root'}

七、Templates 模块

Jinja是基于Python的模板引擎。Template类是Jinja的一个重要组件,可以看作是一个编译过的模板文件,用来产生目标文本,传递Python的变量给模板去替换模板中的标记。

1.先准备一个以 .j2 为后缀的 template 模板文件,设置引用的变量

cp /etc/httpd/conf/httpd.conf /opt/httpd.conf.j2vim /opt/httpd.conf.j2
Listen {{http_port}}				#42行,修改
ServerName {{server_name}}			#95行,修改
DocumentRoot "{{root_dir}}"          #119行,修改

2.修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量

vim /etc/ansible/hosts       
[webservers]
192.168.88.20 http_port=192.168.88.20:8080 server_name=www.accp.com:8080 root_dir=/var/www/html/accp[dbservers]
192.168.88.30 http_port=192.168.88.30:80 server_name=www.benet.com:80 root_dir=/var/www/html/benet

3.编写 playbook

vim apache.yaml
---
- hosts: allremote_user: rootvars:- package: httpd- service: httpdtasks:- name: install httpd packageyum: name={{package}} state=latest- name: install configure filetemplate: src=/opt/httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf     #使用template模板notify:- restart httpd- name: create accp dirfile: path=/var/www/html/accp state=directorywhen: inventory_hostname == "192.168.88.20"- name: create accp dirfile: path=/var/www/html/benet state=directorywhen: inventory_hostname == "192.168.88.30"- name: start httpd serverservice: name={{service}} enabled=true state=startedhandlers:- name: restart httpdservice: name={{service}} state=restartedansible-playbook apache.yaml

八、tags 模块

可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过ansible-playbook命令使用--tags选项能实现仅运行指定的tasks。

playbook还提供了一个特殊的tags为always。作用就是当使用always作为tags的task时,无论执行哪一个tags时,定义有always的tags都会执行。

vim webhosts.yaml
---
- hosts: webserversremote_user: roottasks:- name: Copy hosts filecopy: src=/etc/hosts dest=/opt/hoststags:- only     #可自定义- name: touch filefile: path=/opt/testhost state=touchtags:- always    #表示始终要运行的代码ansible-playbook webhosts.yaml --tags="only"

九、利用playbook部署lnmp集群

1.修改nginx配置文件

/配置 nginx 支持 PHP 解析
vim default.conf
......location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;  #将 /scripts 修改为nginx的工作目录include        fastcgi_params;}

2.编写lnmp的剧本

vim lnmp.yml
- name: nginxgather_facts: falsehosts: webserversremote_user: roottasks:
#yum安装nginx- name: create nginx yumcopy: src=/etc/yum.repos.d/nginx.repo dest=/etc/yum.repos.d/nginx.repo- name: install nginxyum: name=nginx
#将编辑好的nginx配置文件复制到远程主机 - name: nginx congruation filecopy: src=/opt/default.conf dest=/etc/nginx/conf.d/default.conf- name: start nginxservice: name=nginx state=started enabled=yes- name: wordpresscopy: src=/opt/lnmp/nginx/www/wordpress dest=/usr/share/nginx/html/- name: mysqlhosts: webserversremote_user: roottasks:
#安装mysql- name: remove mariadbshell: yum -y remove mariadb*ignore_errors: true- name: wegtcommand: wget https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm- name: inatsll mysqlrpmcommand: rpm -ivh mysql57-community-release-el7-11.noarch.rpm- name: change mysql-community.rpmshell: sed -i 's/gpgcheck=1/gpgcheck=0/'  /etc/yum.repos.d/mysql-community.repo- name: install mysqlyum: name=mysql-server- name: start mysqldservice: name=mysqld.service state=started enabled=yes- name: echo passwordshell: grep "password" /var/log/mysqld.log | awk 'NR==1{print $NF}'  #在日志文件中找出root用户的初始密码register: mysql_password   #将初始密码导入到mysql_password的变量中- name: echodebug:                      msg: "{{ mysql_password }}"  #输出变量mysql_password的值
#登录mysql,修改MySQL登录密码  - name: grant locationshell:  mysql --connect-expired-password -uroot -p"{{ mysql_password['stdout'] }}" -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';"
#修改权限 - name: grant optionshell: mysql --connect-expired-password -uroot -pAdmin@123 -e "grant all privileges on *.* to 'root'@'%' identified by 'Admin@123456' with grant option;"
#创建wordpress数据库- name: create databaseshell: mysql --connect-expired-password -uroot -pAdmin@123 -e "create database wordpress;"
#赋予admin用户访问wordpress的权限- name: grantshell: mysql --connect-expired-password -uroot -pAdmin@123 -e "grant all on wordpress.* to 'admin'@'%' identified by 'Admin@123456';"- name: grantshell: mysql --connect-expired-password -uroot -pAdmin@123 -e "grant all on wordpress.* to 'admin'@'localhost' identified by 'Admin@123456';"- name: flushshell: mysql --connect-expired-password -uroot -pAdmin@123 -e 'flush privileges;'
#为了防止每次yum操作都会自动更新,卸载这个软件- name: yumcommand: yum -y remove mysql57-community-release-el7-11.noarch#安装php及其依赖包
- name: phphosts: webserversremote_user: roottasks:- name: yum rpmcommand: yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm- name: yumyum: name=yum-utils- name: yum-configcommand: yum-config-manager --enable remi-php74- name: install yilaibaocommand: yum -y install php  php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis- name: start phpservice: name=php-fpm state=started enabled=yes

3.运行playbook并访问验证

ansible-playbook lnmp.yml#验证
浏览器访问http://192.168.88.30/wordpress/index.php

http://www.tj-hxxt.cn/news/34442.html

相关文章:

  • 供应邯郸网站建设信息流广告投放平台
  • 一级a做爰片免费网站瑜伽唐老鸭微信营销软件
  • 潍坊网站建设首荐创美网络站长统计 站长统计
  • 怎样做旅游公司的网站百度关键词怎么做排名
  • 公司网站建设中恒建设集团有限公司哈尔滨关键词优化报价
  • 网页和网站的不同开封网站快速排名优化
  • 邯郸市哪里有做网站的跨境电商平台有哪些?
  • 网页设计一般多大尺寸惠州自动seo
  • 最好的响应式网站企业seo关键词优化
  • 沧州网络营销推广方案什么叫做seo
  • 化工网站建站模板营销网页设计公司
  • 网站策划预算怎么做集合竞价口诀背熟6句
  • 网站开发毕业设计参考文献信息流优化师招聘
  • wordpress导入大于2m西安优化seo
  • 做高端网站网页分析报告案例
  • 科技公司简介范文网络优化师
  • 易利购网站怎么做关键词规划师工具
  • 临海建设局网站网络推广专员是做什么的
  • 做一个苹果app多少钱广州seo关键词优化是什么
  • 网站页脚写什么做seo推广公司
  • 一个做日语翻译的网站免费建网站的平台
  • 烟台微网站seo sem
  • 住房和城乡建设部投诉电话百度seo如何优化关键词
  • 医疗网站建设服务百度收录情况查询
  • 中国建设工程质量协会网站seo推广案例
  • 广州正佳广场有什么好玩的地方网站优化推广教程
  • 中山百度网站排名百度竞价排名榜
  • 专业模板网站制作服务全球疫情最新数据统计
  • 微商城网站建设教程北京昨天出啥大事了
  • wordpress 图片 视频播放长沙seo优化