Ansible Role 系统环境 之【PHP】

Ansible Role: php

安装php7环境, 使用php-fpm管理。

要求

此角色仅在RHEL及其衍生产品上运行。

测试环境

ansible 2.4.2.0
os Centos 7.2 X64
python 2.7.5

角色变量

software_files_path: "/opt/software"
software_install_path: "/usr/local"

php_version: "7.2.1"

php_file: "php-{{ php_version }}.tar.gz"
php_file_path: "{{ software_files_path }}/{{ php_file }}"
php_install_path: "{{ software_install_path }}/php-{{ php_version }}"
php_file_url: "http://cn2.php.net/distributions/{{ php_file }}"

php_rpm_url: "https://mirror.webtatic.com/yum/el7/webtatic-release.rpm"

php_install_from_source: false

php_user: "apache"
php_group: "apache"

php_conf_paths: "/etc"
php_extension_conf_paths: "/etc/php.d"
php_fpm_conf_path: "/etc/fpm"
php_fpm_pool_conf_path: "/etc/php-fpm.d"

php_apcu_file_url: "https://github.com/krakjoe/apcu/archive/v5.1.9.tar.gz"
php_apcu_file: "apcu-5.1.9.tar.gz"
php_apcu_file_path: "{{ software_files_path }}/{{ php_apcu_file }}"
php_apcu_configure_command: >
    ./configure
    --enable-apcu
    --enable-apcu-mmap
    --with-php-config={{ php_install_path }}/bin/php-config
 
php_source_configure_command: >
    ./configure
    --prefix={{ php_install_path }}
    --exec-prefix={{ php_install_path }}
    --bindir={{ php_install_path }}/bin
    --sbindir={{ php_install_path }}/sbin
    --includedir={{ php_install_path }}/include
    --libdir={{ php_install_path }}/lib/php
    --mandir={{ php_install_path }}/php/man
    --with-config-file-path={{ php_conf_paths }}
    --with-config-file-scan-dir={{ php_extension_conf_paths }}
    --with-mcrypt=/usr/include
    --with-mhash
    --with-openssl
    --with-mysqli=shared,mysqlnd
    --with-pdo-mysql=shared,mysqlnd
    --with-gd
    --with-curl
    --with-iconv
    --with-gmp
    --with-pspell
    --with-zlib
    --with-xmlrpc
    --with-gettext
    --with-curl
    --with-jpeg-dir
    --with-freetype-dir
    --enable-zip
    --enable-wddx
    --enable-inline-optimization=
    --enable-shared
    --enable-xml
    --enable-bcmath
    --enable-shmop
    --enable-sysvmsg
    --enable-sysvsem
    --enable-sysvshm
    --enable-mbregex
    --enable-mbstring
    --enable-ftp
    --enable-gd-native-ttf
    --enable-gd-jis-conv
    --enable-pcntl
    --enable-pdo
    --enable-sockets
    --enable-soap
    --enable-session
    --enable-opcache
    --enable-fpm
    --disable-debug
    --disable-rpath
    --disable-fileinfo
    --without-gdbm
    --without-pear
    
    
php_enable_php_fpm: true
php_fpm_listen: "127.0.0.1:9000"
php_fpm_listen_allowed_clients: "127.0.0.1"
php_fpm_pm_max_children: 50
php_fpm_pm_start_servers: 5
php_fpm_pm_min_spare_servers: 5
php_fpm_pm_max_spare_servers: 5

# OpCache settings.
php_opcache_zend_extension: "opcache.so"
php_opcache_enable: "1"
php_opcache_enable_cli: "0"
php_opcache_memory_consumption: "96"
php_opcache_interned_strings_buffer: "16"
php_opcache_max_accelerated_files: "4096"
php_opcache_max_wasted_percentage: "5"
php_opcache_validate_timestamps: "1"
php_opcache_revalidate_path: "0"
php_opcache_revalidate_freq: "2"
php_opcache_max_file_size: "0"
php_opcache_blacklist_filename: ""

# APCu settings.
php_enable_apcu: true
php_apc_shm_size: "96M"
php_apc_enable_cli: "0"

php_expose_php: "On"
php_memory_limit: "256M"
php_max_execution_time: "60"
php_max_input_time: "60"
php_max_input_vars: "1000"
php_input_nesting_level: "64"
php_realpath_cache_size: "32K"

php_file_uploads: "On"
php_upload_max_filesize: "64M"
php_max_file_uploads: "20"

php_post_max_size: "32M"
php_date_timezone: "Asia/Shanghai"
php_allow_url_fopen: "On"

php_sendmail_path: "/usr/sbin/sendmail -t -i"
php_output_buffering: "4096"
php_short_open_tag: "Off"
php_disable_functions: []

php_session_cookie_lifetime: 0
php_session_gc_probability: 1
php_session_gc_divisor: 1000
php_session_gc_maxlifetime: 1440
php_session_save_handler: files
php_session_save_path: "/tmp"

php_error_reporting: "E_ALL & ~E_DEPRECATED & ~E_STRICT"
php_display_errors: "Off"
php_display_startup_errors: "Off"

依赖

epel

github地址

https://github.com/kuailemy123/Ansible-roles/tree/master/php

Example Playbook

rpm方式安装
- hosts: node1
  roles:
    - php
    
源码方式安装
- hosts: node1
  roles:
    - { role: php, php_install_from_source: true }

使用

systemctl start php-fpm
systemctl stop php-fpm
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容