Docker全系列 - Docker部署php

386 阅读1分钟

Docker部署php

(1):完成Docker运行环境安装

(2):拉取对应版本镜像

[root@localhost ~] docker pull php:[5 | 7.2 | ?]-fpm

(3):安装php容器

[root@localhost ~] docker run --name [容器名称] -d -p [宿主机映射端口]:9000 -v [宿主机项目路径]:/var/www/html php:7.2-fpm

[root@localhost ~] docker exec -it [容器ID] /bin/bash

(4):安装必要环境及拓展

[root@localhost ~] apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev libzstd-dev vim lsof 

(1):[root#localhost ~] pecl install [扩展名称]2):[root#localhost ~] docker-php-ext-install [扩展名称]
# 两种方式选其一即可,某些扩展需要前置条件,按照报错安装即可
# 两种各有利弊,优先选择方式-2,但是可能会出现找不到包的情况,在尝试使用方式-1,方式-1安装成功后需手动在php.ini中添extension=[扩展名称].so,方式-2则不需要

(5):修改php配置文件

[root@localhost ~] mv /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
# 后续php的配置参数修改至上述文件内即可

[root@localhost ~] vim /usr/local/etc/php/php.ini

; 屏蔽危险函数
disable_functions = phpinfo,system,exec,shell_exec,passthru,proc_open,proc_close, proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport, syslog,popen,show_source,highlight_file,dl,ftp_connect, ftp_login,ftp_pasv,ftp_get,sys_     getloadavg,disk_total_space, disk_free_spa

; 关闭php版本显示
expose_php = Off

; php进程内存最大占用
memory_limit = 2G

; 设置时区 !!很重要!!
date.timezone = Asia/Shanghai

(6):修改php-fpm配置参数

[root@localhost ~] vim /usr/local/etc/php-fpm.d/www.conf
# fpm配置参数修改至上述文件内

; php-fpm运行端口
listen = 127.0.0.1:9000 

# 其他优化参数按需加大即可
pm.max_children = 50
pm.start_servers = 16
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1024