3.yum安装分布式LNMP--剧本

这篇具有很好参考价值的文章主要介绍了3.yum安装分布式LNMP--剧本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

修改hosts

vim /etc/ansible/hosts

[webservers]
192.168.242.67

[dbservers]
192.168.242.68

[phpservers]
192.168.242.69

创建剧本文件

vim lnmp.yaml
- name: nginx play
  hosts: webservers
  remote_user: root
  vars:
  - http_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

  tasks:
  - name: disable firewalld
    service: name=firewalld  state=stopped  enabled=no
    
  - name: disable selinux
    shell: "/usr/sbin/setenforce 0"
    ignore_errors: true
  
  - name: copy nginx.repo
    copy: src=nginx.repo dest=/etc/yum.repos.d/

  - name: install nginx
    yum: name={{service}} state=latest

  - name: copy index.php
    copy: src=index.php dest={{root_dir}}

  - name: copy nginx.conf
    template: src=default.conf.j2 dest=/etc/nginx/conf.d/default.conf
    notify: reload nginx

  - name: start nginx
    service: name={{service}} state=started enabled=yes
  handlers:
  - name: reload nginx
    service: name={{service}} state=reloaded
    
- name: mysql play
  hosts: dbservers
  remote_user: root
  tasks:
  - name: disable firewalld
    service: name=firewalld  state=stopped  enabled=no
    
  - name: disable selinux
    shell: "/usr/sbin/setenforce 0"
    ignore_errors: true

  - name: yum remove mariadb
    yum: name=mariadb* state=absent

  - name: install rpm
    shell: wget -P /etc/yum.repos.d/ http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    ignore_errors: true

  - name: install noarch.rpm
    shell: yum -y install /etc/yum.repos.d/mysql57-community-release-el7-10.noarch.rpm
    ignore_errors: true

  - name: replace wprd
    replace: path=/etc/yum.repos.d/mysql-community.repo regexp='gpgcheck=1' replace='gpgcheck=0'
    ignore_errors: true

  - name: install mysql
    yum: name="mysql-server"

  - name: start mysqld
    service: name=mysqld state=started enabled=yes


  - name: login mysql
    shell: 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';"

  - name: grantmysql
    shell: mysql -uroot -pAdmin@123 -e "grant all privileges on *.* to root@'%' identified by 'Admin@123' with grant option;"


- name: php play
  hosts: phpservers
  remote_user: root
  tasks:
  vars: 
  - service: 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
  tasks:
  - name: disable firewalld
    service: name=firewalld  state=stopped  enabled=no
    
  - name: disable selinux
    shell: "/usr/sbin/setenforce 0"
    ignore_errors: true
    
  - name: install yum repo
    shell: "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 php
    with_items:
    - php72w
    - php72w-cli
    - php72w-common
    - php72w-devel
    - php72w-embedded
    - php72w-gd
    - php72w-mbstring
    - php72w-pdo
    - php72w-xml
    - php72w-fpm
    - php72w-mysqlnd
    - php72w-opcache
    yum: name={{item}}

  - name: create php user
    user: name={{user_name}}

  - name: create php group
    group: name={{user_name}}

  - name: create web dir
    file: name={{root_dir}} state=directory


  - name: copy index.php
    copy: src=index.php dest={{root_dir}}


  - name: modify php.ini
    template: src=php.ini.j2 dest=/etc/php.ini
    notify: reload php

  - name: copy www.conf
    copy: src=www.conf dest=/etc/php-fpm.d/www.conf

  - name: start php
    service: name={{service}} state=started enabled=yes
  handlers:
  - name: reload php
    service: name={{service}} state=reloaded
                                                              
  
  
##在剧本的当前目录中,需要准备需要的文件

index.php
nginx.repo
default.conf.j2

www.conf
php.ini.j2
###  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
###修改www.conf文件


##主要修改几行配置文件

user = php
group = php
listen = 192.168.242.69:9000
listen.allowed_clients = 192.168.242.67
##  php.ini.j2  配置文件模板


###修改几行

1097行
mysqli.default_socket = {{mysql_dir}}

877行
date.timezone = {{timezone}}
##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;
    }

文章来源地址https://www.toymoban.com/news/detail-621380.html

到了这里,关于3.yum安装分布式LNMP--剧本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高级分布式系统-第12讲 分布式控制经典理论

    高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 分布式控制系统的设计,是指在给定系统性能指标的条件下,设计出控制器的控制规律和相应的数字控制算法。 根据偏差的比例(Proportional)、积分(Integral)、微分(Derivative)进行控制(简称PID控制),一种广泛应用

    2024年01月20日
    浏览(50)
  • 12. Redis分布式高可用集群搭建

    主从复制,哨兵,集群(master-cluster) 1. 主从模式 2. 哨兵 3. 集群(master-cluster) 1. 关闭防火墙,三台机器都执行 2. hostname修改,三台机器都执行,这一步是为了在内网中三台服务器能相互连通 3. 免登陆,三台机器都执行 4. 安装gcc并升级 5. 下载redis,在三台机器上都执行 6.创

    2024年02月14日
    浏览(43)
  • SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步

    一、数据聚合 聚合(aggregations): 实现对文档数据的统计、分析、运算。 (一)聚合的常见种类 桶(Bucket)聚合: 用来做文档分组。 TermAggregation: 按照文档字段值分组 Date Histogram: 按照日期阶梯分组,例如一周一组,一月一组 度量(Metric)聚合: 用以计算一些值,比如

    2024年02月15日
    浏览(44)
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记12_超时模式

    2.4.2.1. 电缆可能会断开 2.4.2.2. 传输线路上的交换机或路由器可能会坏掉 2.4.2.3. 正在寻址的计算机可能会崩溃 3.2.3.1. 这些库通常代表系统直接进行套接字调用 4.5.4.1. 快速重试很有可能再次失败 4.7.1.1. 失败了 4.7.1.2. 成功了 4.7.1.3. 其他提示信息

    2024年02月11日
    浏览(43)
  • 分布式项目 12 用jsonp来完成单点登录功能(两个系统之间进行信息交互)

    在项目中使用ctrl+H ,来快速查找相关的hrl请求。 首先全部的请求会进过jt-web,在进行对其他系统的通信。 说明:当点击“登录”或者\\\"免费注册\\\"跳转到登录或者注册页面。 在jt-web项目中,声明UserController资源,完成页面资源的调度,具体代码实现如下所示: 创建项目sso 修改

    2024年02月08日
    浏览(66)
  • 国家标准《区块链和分布式记账技术参考架构》将于12月1日实施

    国家标准《区块链和分布式记账技术参考架构》将于12月1日正式实施,这是我国首个针对区块链技术的国家标准。该标准的实施将对我国区块链技术的发展和应用产生深远的影响,标志着我国在区块链技术标准化方面迈出了重要的一步。 该标准的发布是我国区块链技术发展的

    2024年02月11日
    浏览(47)
  • 第2关:伪分布式体验及分布式安装配置

    服务器leader选举 为进一步了解ZooKeeper的 leader 选举过程,本节实训利用服务器的关闭启动,观察服务器的 leader 产生过程。利用以下命令查看当前服务器节点的状态( /xxx 为安装目录): 当仅启动 1 个服务器节点,服务器状态如下:   服务器通信报错,集群未运行( 3 个节点,

    2024年02月02日
    浏览(32)
  • 【大数据工具】Kafka伪分布式、分布式安装和Kafka-manager工具安装与使用

    Kafka 安装包下载地址:https://archive.apache.org/dist/kafka/ 1. Kafka 伪分布式安装 1. 上传并解压 Kafka 安装包 使用 FileZilla 或其他文件传输工具上传 Kafka 安装包: kafka_2.11-0.10.0.0.tgz 解压安装包 2. 编辑配置文件 3. 拷贝并修改配置文件 分别修改 server2.properties、server3.properties 4. 创建日志

    2024年02月14日
    浏览(48)
  • hbase分布式安装

    目录 1.安装Hbase 2.配置文件 3.Hbase服务启动      Zookeeper和Hadoop集群正常启动           进入/export/software目录,将hbase软件包导入该目录下。解压hbase软件包 到/export/servers目录下,并重命名为hbase。         进入hbase安装目录下,进入conf目录,修改hbase-env.sh、 hbase-si

    2024年02月10日
    浏览(54)
  • Hadoop分布式安装

    首先准备好三台服务器或者虚拟机,我本机安装了三个虚拟机,安装虚拟机的步骤参考我之前的一篇 virtualBox虚拟机安装多个+主机访问虚拟机+虚拟机访问外网配置-CSDN博客 jdk安装 参考文档:Linux 环境下安装JDK1.8并配置环境变量_linux安装jdk1.8并配置环境变量_Xi-Yuan的博客-CSDN博

    2024年02月08日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包