乐趣区

关于ansible:在macbook使用ansible

brew install ansible

配置主机 sudo vim /etc/ansible/hosts

192.168.0.11 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=passwd

装置

brew install sshpass.rb

sshpass.rb

require 'formula'

class Sshpass < Formula
  url 'http://sourceforge.net/projects/sshpass/files/sshpass/1.09/sshpass-1.09.tar.gz'
  homepage 'http://sourceforge.net/projects/sshpass'
  sha256 '71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7'

  def install
    system "./configure", "--disable-debug", "--disable-dependency-tracking",
                          "--prefix=#{prefix}"
    system "make install"
  end

  def test
    system "sshpass"
  end
end

nginx-php-install-playbook.yml

---
- hosts: all
  remote_user: root
  vars:
    - PHP_VERSION: 7.4
    - GROUPUSER: www
  tasks:
    - name: 'create {{GROUPUSER}} group'
      group: name={{GROUPUSER}} state=present

    - name: 'create {{GROUPUSER}} user'
      user: name={{GROUPUSER}} group={{GROUPUSER}} state=present create_home=False shell=/sbin/nologin

    - name: 'software-properties-common'
      apt: name=software-properties-common state=present

    - name: 'Add php repo'
      apt_repository: repo='ppa:ondrej/php'

    - name: 'update'
      shell: apt update

    - name: 'Install php{{PHP_VERSION}} software'
      apt:
        name: 
          - php{{PHP_VERSION}}-fpm
          - php{{PHP_VERSION}}-redis
          - php{{PHP_VERSION}}-common
          - php{{PHP_VERSION}}-bcmath
          - php{{PHP_VERSION}}-curl
          - php{{PHP_VERSION}}-gd
          - php{{PHP_VERSION}}-mbstring
          - php{{PHP_VERSION}}-mysql
          - php{{PHP_VERSION}}-xml
          - php{{PHP_VERSION}}-zip
          - php{{PHP_VERSION}}-swoole
        state: present

    - name: 'update php-fpm listen'
      lineinfile:
        dest: /etc/php/{{PHP_VERSION}}/fpm/pool.d/www.conf
        regexp: "listen = *"
        line: "listen = 127.0.0.1:9000"

    - name: 'update php-fpm group'
      lineinfile:
        dest: /etc/php/{{PHP_VERSION}}/fpm/pool.d/www.conf
        regexp: "listen.group = *"
        line: "listen.group = {{GROUPUSER}}"

    - name: 'update php-fpm owner'
      lineinfile:
        dest: /etc/php/{{PHP_VERSION}}/fpm/pool.d/www.conf
        regexp: "listen.owner = *"
        line: "listen.owner = {{GROUPUSER}}"
    - name: "restart php{{PHP_VERSION}}-fpm"
      service: name='php{{PHP_VERSION}}-fpm' state=restarted
      
    - name: 'Install nginx'
      apt: name=nginx state=present

    - name: 'update nginx user'
      lineinfile:
        dest: /etc/nginx/nginx.conf
        regexp: "user www-data"
        line: "user {{GROUPUSER}}"
        
    - name: "restart nginx"
      service: name=nginx state=restarted
退出移动版