如何玩轉swoole 玩轉dnmp之自定義容器

2021-10-13 13:44:05 字數 2168 閱讀 4719

文章簡介

在前面幾篇文章中,我們使用dnmp搭建了乙個完整的docker開發環境。這篇文章接著分享如何在dnmp的基礎上搭建乙個自定義的php容器,實現多版本的php容器。

前期準備

複製docker-compose.sample.yml檔案為docker-compose.ymlcp docker-compose.sample.yml docker-compose.yml

複製env.sample為.envcp env.sample ./env

修改配置

首先我們根據需要在.env檔案中配置好php容器需要對映的埠等資訊。新增如下配置(可放在任意位置):#

# php73

php73_version=7.3.22

php73_php_conf_file=./services/php73/php.ini

php73_fpm_conf_file=./services/php73/php-fpm.conf

php73_log_dir=./logs/php

php73_extensions=pdo_mysql,mysqli,mbstring,gd,curl,opcache

php_swoole1_port=9504

php_swoole2_port=9505

php_swoole3_port=9506

php_swoole4_port=9507

php_swoole5_port=9508

php_swoole6_port=9509這裡的swoole可以根據自己的需要定義,比如你只需要對映乙個埠9505,直接值配置乙個9504。只需要與下面的.docker-compose.yml一一對應起來即可。

接下來,配置doker-compose.yml檔案。只需要新增如下內容即可:php73:

build:

context: ./services/php

args:

php_version: php:$-fpm-alpine

container_package_url: $

php_extensions: $

tz: "$tz"

container_name: php73

ports:

- "$:9504"

- "$:9505"

- "$:9506"

- "$:9507"

- "$:9508"

- "$:9509"這裡的container_name可以根據自己的需要來配置,建議根據你的php版本號定義容器名字。

安裝容器

通過上面簡單的配置,我們接下來執行如下命令,就可以搭建乙個完整的php容器了:docker-compose up

安裝完之後,檢視效果:container id image command created status ports names

0e1376e67300 dnmp_php73 "docker-php-entrypoi…" 35 hours ago up 42 minutes 9000/tcp, 0.0.0.0:9504-9509->9504-9509/tcp php73

證明我們的自定義容器安裝成功了,接下來,我們就配置nginx如何使用該容器。

使用容器

使用該容器超級簡單,只需要在nginx配置時,指向我們建立好的容器即可。server {

# 只需要將這裡的php73寫成我們建立好的容器名稱即可。

fastcgi_pass php73:9000;

fastcgi_index index.php;

fastcgi_param script_filename $document_root$fastcgi_script_name;

include fastcgi_params;

最終結論

如何玩轉swoole 入門學習一下swoole

最近有需求需要搞一下物聯網通訊這塊的東西,也是小明我的乙個短板,所以就在這裡開個專欄記錄一下學習swoole的筆記吧。一般學習乙個新的技術,小明還是建議以官方的學習文件為主。像我現在這樣的文章呢?可以避免一些採坑,但是具體的一些流程還是得以官方的為主。具體的安裝步驟,小明就不細說了,大家參考官方文件...

如何玩轉Fluxion

fluxion是一種安全審核和社會工程研究工具。這是vk496對linset的翻版,希望 有更少的錯誤和更多的功能。該指令碼嘗試通過社會工程 網路釣魚 攻擊從目標訪問點檢索wpa wpa2金鑰。它與最新版本的kali 滾動 相容。fluxion的攻擊設定大部分是手動的,但是實驗性自動模式可以處理某些...

如何玩轉微服務

黃朝兵,目前就職於一家跨國軟體公司,任專家級開發工程師。曾就職於網際網路金融企業 大型國企 日企等,分別任職技術經理,高階軟體開發工程師,軟體開發工程師。2014年 martin fowler 在 microservices 中首次提出了微服務的概念。近些年,伴隨著網際網路的日益發展,微服務在國內 ...