最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解

 更新時(shí)間:2020年05月07日 15:48:13   作者:big_cat  
這篇文章主要介紹了docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

mac 上用 brewphp56 時(shí),因?yàn)?openssl1.1 版本而導(dǎo)致各種 google 都搞不定的錯(cuò)誤,太折騰了,現(xiàn)在用 docker 創(chuàng)建一個(gè) php56-fpm 服務(wù)容器,nginx 直裝在宿主機(jī)上。

PHP DockerHub 主頁(yè)

創(chuàng)建容器

# 創(chuàng)建容器
docker run -d \
--name php56-fpm \
-p 9056:9000 \
-v /home/wwwroot:/var/www/html
--privileged=true
php:5.6-fpm

注意:

/var/www/htmlphp docker 鏡像的工作目錄。

-v /home/wwwroot:/var/www/html 的作用是將宿主機(jī)的站點(diǎn)目錄掛載到容器上。比如 /home/wwwroot/siteA,在容器中的訪問(wèn)位置是 /var/www/html/siteA。

nignx 轉(zhuǎn)發(fā) php 請(qǐng)求時(shí),會(huì)將執(zhí)行的腳本名 SCRIPT_NAME 和腳本文件名 SCRIPT_FILENAME 轉(zhuǎn)發(fā)給 fpm,而后 fpm 去讀取腳本執(zhí)行。

在使用 fpm 容器時(shí),需要注意 nginx 轉(zhuǎn)發(fā)的 SCRIPT_FILENAME 是否是 fpm 容器中的有效站點(diǎn)路徑,如果 nginxroot 并不能直接映射至 fpm 容器的站點(diǎn) root,我們需要在 php location 中重新定義為 fpm 容器的站點(diǎn) root。這樣 fpm 才能正確的讀取到腳本。

即宿主機(jī)上的 /home/wwwroot/siteA/public/index.php 要轉(zhuǎn)為 /var/www/html/siteA/public/index.php 發(fā)送給 fpm 容器,否則會(huì)報(bào) File not found 的錯(cuò)誤。

所以 nginx 配置 server 時(shí)要注意如下的卷路徑轉(zhuǎn)換:

server {
 listen 8056;
 ....
 # 宿主機(jī)的站點(diǎn)根目錄
 root /home/wwwroot/siteA/public;
 
 location ~* (^[/]*.php)[/|$] {
 # 容器中的站點(diǎn)根目錄
 root /var/www/html/siteA/public;
 pass_proxy: 127.0.0.1:9056;
 include fastcgi.conf;
 }
}

不過(guò)一般情況下大家都是 docker nginx + docker php-fpm,兩個(gè)容器都統(tǒng)一映射了站點(diǎn)目錄,就不會(huì)有這個(gè)問(wèn)題了。這里的 nginx 是直接裝在宿主機(jī)上才導(dǎo)致 nginx 轉(zhuǎn)發(fā) php 請(qǐng)求時(shí)需要重新定義下站點(diǎn)的根目錄。

登陸容器

# 查看容器是否運(yùn)行
docker ps

# 登陸容器
docker exec -it php56-fpm /bin/bash

php 的 docker 鏡像是基于 ubuntu 我們可以使用 apt-get 安裝需要的工具,比如 vim/vi lrzsz net-tools 之類的。

# 在使用 apt-get 安裝一些工具前,需要 update 更新一下源
# 否則會(huì) apt-get E: Unable to locate package
apt-get update
apt-get install vim

安裝 php/pecl 擴(kuò)展

安裝 php 擴(kuò)展

即 php 官方擴(kuò)展,比如 shomp 這種自帶但默認(rèn)不開(kāi)啟的擴(kuò)展。

# 查看自帶了那些擴(kuò)展
cd /usr/local/php/ext && ls -l
# 安裝擴(kuò)展
dcoker-php-ext-install shmop

安裝 pecl 擴(kuò)展

容器中是有安裝 pecl的,所以直接使用 pecl 安裝即可,注意擴(kuò)展對(duì) php 版本的支持即可。

docker-php-ext-enable的主要用途是生成擴(kuò)展相應(yīng)的配置文件到 /usr/local/etc/php/conf.d/docker-php-ext-{extName}.ini 方便 php 加載擴(kuò)展。

# igbinary php5.6 最高版本是 2.0.8
pecl install igbinary-2.0.8
docker-php-ext-enable igbinary

# phpredis php5.6 最高版本是 4.3.0
pecl install redis-4.3.0
docker-php-ext-enable redis

# swoole php5.6 最高版本是 2.0.11
pcel install swoole-2.0.11
docker-php-ext-enable swoole

php/php-fpm 配置

/usr/local/etc 是 php 容器的配置目錄,里面自帶了 php 及 php-fpm 的配置文件,配置目錄結(jié)構(gòu)如下:

root@aa739592b579:/usr/local# tree etc/ 
etc/
|-- pear.conf
|-- php # php 配置目錄
| |-- conf.d # php 擴(kuò)展配置
| | |-- docker-php-ext-shmop.ini
| |-- php.ini # cp 的 php.ini-development/production
| |-- php.ini-development
| |-- php.ini-production
|-- php-fpm.conf # php-fpm 的配置 自帶的主要是引入 php-fpm.d
|-- php-fpm.conf.default # php-fpm 配置本體 同 php-fpm.d/www.conf 一致
|-- php-fpm.d # php-fpm 的擴(kuò)展配置
 |-- docker.conf
 |-- www.conf # php-fpm 配置本體 模式啊 max/min children 啊都在這里
 |-- zz-docker.conf

你可映射宿主機(jī)的配置目錄到容器的 /usr/local/etc,但要注意宿主機(jī)上的配置目錄與容器現(xiàn)有的要保持一致,或者直接在容器里編輯配置文件。按 docker 的理念我們應(yīng)該在宿主機(jī)上維護(hù)一份配置文件映射到容器的配置目錄上,這樣才能發(fā)揮出 docker 容器的復(fù)用性。

映射宿主機(jī)的 php 配置文件到容器

-v /opt/docker/conf/php/php.ini:/usr/local/etc/php/php.ini
-v /opt/docker/conf/php/php-fpm.ini:/usr/local/etc/php-fpm.d/www/conf

常見(jiàn)問(wèn)題

1、File not found
nginx 指定的 站點(diǎn)根目錄 無(wú)法直接映射給 fpm 容器,在 location 中重新指定 fpm 容器的 站點(diǎn)根目錄。
2、apt-get E: Unable to locate package
執(zhí)行 apt-get update 刷新一下源即可。
3、容器的相關(guān)約定
工作目錄:/var/www/html 建議將宿主機(jī)的站點(diǎn)目錄映射至此目錄
配置目錄:/usr/local/etc 注意配置目錄結(jié)構(gòu)
php 擴(kuò)展目錄:/usr/local/php/ext 可以查看 php 自帶的擴(kuò)展包 使用 docker-php-ext-install 安裝更方便

到此這篇關(guān)于docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的文章就介紹到這了,更多相關(guān)docker 安裝 php-fpm內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法

    使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法

    這篇文章主要介紹了使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Docker部署MySQL并實(shí)現(xiàn)客戶端連接

    Docker部署MySQL并實(shí)現(xiàn)客戶端連接

    這篇文章介紹了Docker部署MySQL并實(shí)現(xiàn)客戶端連接的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹

    Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的詳細(xì)介紹

    這篇文章主要介紹了Docker中鏡像構(gòu)建文件Dockerfile與相關(guān)命令的相關(guān)資料,文中介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2017-02-02
  • Docker啟動(dòng)RabbitMQ實(shí)現(xiàn)生產(chǎn)者與消費(fèi)者的詳細(xì)過(guò)程

    Docker啟動(dòng)RabbitMQ實(shí)現(xiàn)生產(chǎn)者與消費(fèi)者的詳細(xì)過(guò)程

    這篇文章主要介紹了Docker啟動(dòng)RabbitMQ,實(shí)現(xiàn)生產(chǎn)者與消費(fèi)者,通過(guò)Docker拉取鏡像并啟動(dòng)RabbitMQ,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • docker如何運(yùn)行redis

    docker如何運(yùn)行redis

    文章詳細(xì)介紹了如何使用Docker下載、配置和啟動(dòng)Redis鏡像,包括指定版本、創(chuàng)建掛載目錄、修改配置文件(如啟用持久化、設(shè)置密碼等)以及啟動(dòng)容器的步驟
    2024-11-11
  • 使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法

    使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法

    本篇文章主要介紹了使用Docker搭建Django,Nginx,R,Python部署環(huán)境的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 使用docker-compose實(shí)現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法

    使用docker-compose實(shí)現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法

    灰度發(fā)布是一種軟件部署策略,它允許將新版本的部分功能或服務(wù)逐步推送給用戶,而不是一次性對(duì)所有用戶進(jìn)行大規(guī)模更新,本文主要給大家介紹了使用docker-compose實(shí)現(xiàn)不停機(jī)部署/灰度發(fā)布的四種方法,需要的朋友可以參考下
    2024-11-11
  • docker鏡像封裝方便打包上傳一鍵部署

    docker鏡像封裝方便打包上傳一鍵部署

    這篇文章主要為大家介紹了docker鏡像封裝方便打包上傳一鍵部署,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • skywalking容器化部署docker鏡像構(gòu)建k8s從測(cè)試到可用

    skywalking容器化部署docker鏡像構(gòu)建k8s從測(cè)試到可用

    這篇文章主要為大家介紹了skywalking容器化部署docker鏡像構(gòu)建k8s從測(cè)試到可用的構(gòu)建部署過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Docker Machine遠(yuǎn)程部署Docker的方法

    Docker Machine遠(yuǎn)程部署Docker的方法

    本篇文章主要介紹了Docker Machine遠(yuǎn)程部署Docker的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

友谊县| 鄂托克旗| 盖州市| 涿州市| 平武县| 永城市| 武威市| 衡南县| 台湾省| 呼玛县| 印江| 延庆县| 重庆市| 彰化市| 调兵山市| 嵩明县| 东乌珠穆沁旗| 开远市| 拜城县| 平塘县| 乌兰县| 南郑县| 亳州市| 平乡县| 德保县| 潼南县| 邵武市| 永年县| 兴安盟| 鄂州市| 含山县| 英德市| 邛崃市| 安顺市| 瓦房店市| 图们市| 开远市| 锦屏县| 临沂市| 睢宁县| 称多县|