Skip to content

Latest commit

 

History

History
184 lines (143 loc) · 3.87 KB

README_zh.md

File metadata and controls

184 lines (143 loc) · 3.87 KB

Ansible Collections - thinkphp_tech.thinkphp | English

thinkphp (v6.x) 框架相关的 ansible 集合

Table of Contents

  1. 介绍
  2. 技术概况
    2.1. PHP 扩展和工具
    2.2. 支持的操作系统
  3. 快速开始
  4. 软件清单
    4.1. Web 服务
    4.2. 数据库服务
    4.3. 键值和队列服务
    4.4. PHP 以及扩展
    4.5. 其他

1. 介绍

thinkphp (v6.x) 框架相关的 ansible 集合,包括安装 swoole、pecl、composer。

2. 技术概况

2.1. PHP 扩展和工具

  • swoole - PHP 携程框架
  • pecl - PHP 扩展库
  • composer - PHP 包管理工具

2.2. 支持的操作系统

  • Debian
  • Ubuntu
  • Kali
  • CentOS
  • Fedora
  • Gentoo
  • MacOS

3. 快速开始

3.1. 安装 ansible

首先,下载安装 ansible 工具

  • Linux:
$ apt install ansible
  • MacOS:
$ brew install ansible
  • Github 仓库
$ git clone https://github.com/ansible/ansible

3.2. 创建个 ansible 的用户

添加用户:

$ useradd {{ your_ansible_user }}-m -G users,sudo -s /bin/bash
$ passwd
$ mkdir -p ~/.ssh

生成用户的密钥对:

$ ssh-keygen -t rsa -b 4096 -C "{{ your_ansible_user }}"

分发公钥:

$ scp .ssh/id_rsa.pub {{ your_ansible_user }}@{{ target_host }}:~/.ssh/authorized_keys

测试一下:

$ ssh -T {{ your_ansible_user }}@{{ target_host }}

3.3. 安装 thinkphp_tech.thinkphp 集合

安装集合:

$ ansible-galaxy collection install thinkphp_tech.thinkphp

默认情况下,集合会被安装到:

~/.ansible/collections/ansible_collections/thinkphp_tech/thinkphp/

3.4. 编写执行的剧本

接下来就可以自定一个剧本文件使用集合里面包含的角色,(比如叫 playbook.yml):

---

- name : configure and deploy the local servers and app codes
  hosts: {{ your_host_group_in_your_inventory }}
  remote_user: {{ your_remote_ansible_user }}
  become: yes
  become_method: sudo

  vars:
    ansible_python_interpreter: /usr/bin/python3
    php_install_composer: true
    php_install_pecl: true
    php_install_redis: true
    php_install_swoole: true
    php_install_xdebug: true
    php_install_xhprof: true

  collections:
    - thinkphp_tech.thinkphp

  roles:
    - common
    - nginx
    - php
    - redis
    - git

也可以参考一下这个仓库的例子: thinkphp-tech/ansible-examples

4. 软件清单

4.1. Web 服务

  • apache
  • nginx
  • varnish

4.2. 数据库服务

  • mariadb
  • mysql
  • postgresql
  • sqlite3
  • tidb

4.3. 键值和队列服务

  • beanstalkd
  • memcached
  • redis
  • rabbitmq

4.4. PHP 及扩展

  • php-cli
  • php-fpm
  • php-redis
  • swoole
  • xdebug
  • xhprof
  • composer

4.5. 其他

  • git
  • vsftpd
  • byobu
  • tmux
  • htop
  • iftop
  • dstat
  • hdparm
  • iotop
  • multitail
  • net-tools
  • unzip
  • pixz
  • vim
  • zsh
  • nodejs (with yarn, n, gulp, grunt, vue-cli)