国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Swoft 系列教程:(1)使用 Docker 安裝部署 Swoft

宋華 / 896人閱讀

摘要:即異步非阻塞,,事件驅(qū)動。優(yōu)雅的注解聲明,容器,嚴(yán)格遵循規(guī)范。鏡像的主要用途官方提供了基于的鏡像。鏡像中已安裝配置好運(yùn)行的所需組件及依賴。修改鏡像的使得容器啟動時不同時啟動服務(wù),這就不需要要求我們掛載的本地項目必須完全安裝好依賴了。

之前有寫過一篇 Docker 安裝部署 Swoft 的文章,但有些冗余混亂,故重寫作為教程的開篇。要不讀讀看?

Swoft項目:https://github.com/swoft-clou...
Swoft文檔:https://doc.swoft.org/
Swoft鏡像:https://hub.docker.com/r/swof...

Swoft 簡介

首個基于 Swoole 原生協(xié)程的新時代 PHP 高性能協(xié)程全棧框架,內(nèi)置協(xié)程網(wǎng)絡(luò)服務(wù)器及常用的協(xié)程客戶端,常駐內(nèi)存,不依賴傳統(tǒng)的 PHP-FPM,全異步非阻塞 IO 實現(xiàn),以類似于同步客戶端的寫法實現(xiàn)異步客戶端的使用,沒有復(fù)雜的異步回調(diào),沒有繁瑣的 yield, 有類似 Go 語言的協(xié)程、靈活的注解、強(qiáng)大的全局依賴注入容器、完善的服務(wù)治理、靈活強(qiáng)大的 AOP、標(biāo)準(zhǔn)的 PSR 規(guī)范實現(xiàn)等等,可以用于構(gòu)建高性能的Web系統(tǒng)、API、中間件、基礎(chǔ)服務(wù)等等。

即異步非阻塞IO,EventLoop,事件驅(qū)動。cpu_num 個 worker 即可承載高并發(fā)請求,提供協(xié)程/異步IO客戶端,數(shù)據(jù)庫連接池,對象連接池,任務(wù)進(jìn)程池。優(yōu)雅的注解聲明,IOC/DI容器,嚴(yán)格遵循PSR規(guī)范。
Swoft 鏡像的主要用途

Swoft 官方提供了基于 Debine 的 Docker 鏡像。鏡像中已安裝配置好運(yùn)行 Swoft 的所需組件及依賴:PHP 7.0+ / Swoole / Composer / Pecl。雖然不使用鏡像從頭安裝部署以上幾項組件也不難,但鏡像內(nèi)置可以開箱即用,免去了這些略繁瑣的工作,讓我們盡可能快的投入到 Swoft 的開發(fā)中去。

此外

Swoft 鏡像與開發(fā)的配合
如果只是單純的想快速體驗 Swoft,使用 docker run -p 80:80 swoft/swoft 拉取創(chuàng)建容器訪問即可。

如何正確的在 Swoft 項目的開發(fā)中使用鏡像呢?如果是要將鏡像好好利用到開發(fā)工作中,則需要清楚一下幾點。

鏡像內(nèi)置完全安裝的 Swoft 框架,但它只是用來快速演示的,并不是要你拿去修改,開發(fā)還是要對本地的 Swoft 項目開發(fā)。

我們應(yīng)該做的是將本地的 Swoft 框架 掛載到鏡像的工作目錄 /var/www/swoft 從而替換掉鏡像自帶的,這樣啟動 Swoft服務(wù) 就會啟動映射到本地的 Swoft 項目了

鏡像的容器啟動時默認(rèn)會啟動 Swoft 服務(wù) 作為前置進(jìn)程,這就要求我們在掛載了本地 Swoft 項目時需要保證已完全安裝了各項依賴(github 拉取下來的 Swoft 源碼 并沒有安裝庫依賴,需要使用 Composer install 一下)

好像咬到尾巴了,為了開發(fā)需要掛載本地 Swoft 項目到鏡像工作目錄,因為容器啟動時還會一并啟動 Swoft 服務(wù),所以要求掛載的本地 Swoft項目 必須使用 Composer 安裝好依賴,嗯?這不還是得在本地裝 PHP + Composer 嘛,鏡像不是都提供了嘛,重復(fù)勞動了。

修改 Swoft 鏡像的 entrypoint 使得 Swoft 容器啟動時不同時啟動 Swoft 服務(wù),這就不需要要求我們掛載的本地 Swoft 項目必須完全安裝好依賴了。

容器創(chuàng)建好后,登入容器 sh,使用鏡像內(nèi)置的 Composer 安裝依賴

啟動 Swoft 服務(wù)

這樣就能充分利用鏡像內(nèi)置的環(huán)境和工具,快樂的開始 Swoft 的開發(fā)了工作了,下面給出具體的實例。

Swoft 鏡像的使用

前面夸贊了那么多鏡像的便利之處,下面如果不完全把鏡像用到極致那就不太好了 O(∩_∩)O哈哈~

1、首先我們從 github 上拉取最新的 Swoft 源碼到本地

cd ~ && git clone git@github.com:swoft-cloud/swoft.git && cd swoft

2、查看 swoft 鏡像的 Dockerfile

# 在文件尾設(shè)定了 entrypoint 命令為 啟動 swoft服務(wù)
ENTRYPOINT ["php", "/var/www/swoft/bin/swoft", "start"]

entrypoint 就是我們后面需要改掉的參數(shù)

3、直接使用鏡像創(chuàng)建容器

docker run 
-p 8081:80  #映射宿主機(jī)808
-v $(pwd):/var/www/swoft #掛載本地 Swoft 項目到鏡像工作目錄
-it -d  #重要 開啟 stdin tty 并以daemon模式運(yùn)行
--entrypoint="" #重要 覆蓋掉鏡像內(nèi)設(shè)定的 entrypoint 參數(shù)
--name my_swoft #容器命令
--privileges=true #賦予權(quán)限
swoft/swoft bash

4、使用 docker-compose 更為簡潔

#編輯 docker-compose 編排文件
vim docker-compose.yml
#內(nèi)容修改如下
version: "3"

services:
    swoft:
       image: swoft/swoft:latest
       container_name: my_swoft # 給容器自定義個名稱便于管理
       #build: ./
       ports:
         - "8081:80" #端口映射
       volumes:
         - ./:/var/www/swoft # 掛載本地swoft項目到鏡像工作目錄
       stdin_open: true #打開標(biāo)準(zhǔn)輸出 -i
       tty: true # 打開 tty 會話 -t
       privileged: true # 給與權(quán)限 比如創(chuàng)建文件夾之類的
       #entrypoint: ["php", "/var/www/swoft/bin/swoft", "start"] # 入口啟動命令 即啟動 swoft 服務(wù)
       entrypoint: ["bash"] 

創(chuàng)建容器

docker-compose up -d swoft ./

5、登入容器,安裝依賴,開啟 Swoft 服務(wù)
使用3或4創(chuàng)建的Swoft容器,便以 bash 作為啟動的前置進(jìn)程,而非啟動 Swoft 服務(wù),我們登入容器使用內(nèi)置的 Composer 安裝依賴后,啟動Swoft服務(wù)即可。

docker exec -it my_swoft bash
# 安裝框架依賴
composer install
# 啟動/停止/重啟 Swoft 服務(wù)
php bin/swoft start|stop|restar

6、開啟熱重載,關(guān)閉 daemon,讓框架調(diào)試信息輸出到 stderr 方便開發(fā)調(diào)試
編輯本地的 Swoft 項目 .env 文件

# Application
APP_DEBUG=true
# Server
...
AUTO_RELOAD=true
...
# Swoole Settings
...
DAEMONIZE=0
...

保存并重新啟動 Swoft服務(wù)

小提示:可以使用 PHPStorm IDE 配置 FTP/SFTP 文件改動自動上傳的方式,開發(fā)起飛~

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30151.html

相關(guān)文章

  • Swoft 系列教程:(1使用 Docker 安裝部署 Swoft

    摘要:即異步非阻塞,,事件驅(qū)動。優(yōu)雅的注解聲明,容器,嚴(yán)格遵循規(guī)范。鏡像的主要用途官方提供了基于的鏡像。鏡像中已安裝配置好運(yùn)行的所需組件及依賴。修改鏡像的使得容器啟動時不同時啟動服務(wù),這就不需要要求我們掛載的本地項目必須完全安裝好依賴了。 之前有寫過一篇 Docker 安裝部署 Swoft 的文章,但有些冗余混亂,故重寫作為教程的開篇。要不讀讀看? Swoft項目:https://gith...

    psychola 評論0 收藏0
  • Swoft 新手向教程 - 通過 Docker 搭建一個開發(fā)環(huán)境

    摘要:前言是一個在之上構(gòu)建的一個高性能協(xié)程全棧框架,而在里面是一個高級技能,所以在相關(guān)的環(huán)境安裝上也給許多人造成了很大的困擾,更是如此,本文將通過以一種極其簡單的方式解決運(yùn)行環(huán)境和開發(fā)環(huán)境的部署。 showImg(https://segmentfault.com/img/bVbeknK?w=512&h=197); 本系列文章將從使用層面介紹 Swoft 框架的使用及業(yè)務(wù)開發(fā),面向初中級的 P...

    tinysun1234 評論0 收藏0
  • 使用 Docker / Docker Compose 部署 Swoft 應(yīng)用

    摘要:所以呢,為了節(jié)省我們的時間,官方提供了一個鏡像包,里面包含了運(yùn)行環(huán)境所需要的各項組件我們只需要下載鏡像并新建一個容器,這個容器就提供了框架所需的所有依賴和環(huán)境,將宿主機(jī)上的項目掛載到鏡像的工作目錄下,就可以繼續(xù)我們的開發(fā)或生產(chǎn)工作了。 Swoft 首個基于 Swoole 原生協(xié)程的新時代 PHP 高性能協(xié)程全棧框架,內(nèi)置協(xié)程網(wǎng)絡(luò)服務(wù)器及常用的協(xié)程客戶端,常駐內(nèi)存,不依賴傳統(tǒng)的 PHP-...

    gplane 評論0 收藏0
  • 使用 Docker / Docker Compose 部署 Swoft 應(yīng)用

    摘要:所以呢,為了節(jié)省我們的時間,官方提供了一個鏡像包,里面包含了運(yùn)行環(huán)境所需要的各項組件我們只需要下載鏡像并新建一個容器,這個容器就提供了框架所需的所有依賴和環(huán)境,將宿主機(jī)上的項目掛載到鏡像的工作目錄下,就可以繼續(xù)我們的開發(fā)或生產(chǎn)工作了。 Swoft 首個基于 Swoole 原生協(xié)程的新時代 PHP 高性能協(xié)程全棧框架,內(nèi)置協(xié)程網(wǎng)絡(luò)服務(wù)器及常用的協(xié)程客戶端,常駐內(nèi)存,不依賴傳統(tǒng)的 PHP-...

    chaos_G 評論0 收藏0
  • swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? docker 了解

    摘要:源碼解讀系列一好難都跑不起來怎么破了解一下唄閱讀框架源碼第一步搞定環(huán)境小伙伴剛接觸的時候會感覺壓力有點大更直觀的說法是難開發(fā)組是不贊成難這個說法的的代碼都是實現(xiàn)的而又是世界上最好的語言的代碼閱讀起來是很輕松的開發(fā)組會用源碼解讀系列博客深 date: 2018-8-01 14:22:17title: swoft| 源碼解讀系列一: 好難! swoft demo 都跑不起來怎么破? doc...

    shenhualong 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<