欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂PHP培訓(xùn)淺談PHP應(yīng)用容器化以及部署方法

2018-07-09 14:44:30 1286瀏覽

人們常說PHP 是世界上最好的語言,本篇文章扣丁學(xué)堂PHP培訓(xùn)小編和大家分享一下PHP應(yīng)用容器化以及部署方法,對(duì)PHP開發(fā)感興趣的小伙伴就隨著小編一起來了解一下吧。



扣丁學(xué)堂PHP培訓(xùn)淺談PHP應(yīng)用容器化以及部署方法



經(jīng)典的 LNMP(linux + nginx + php + mysql)環(huán)境有很多現(xiàn)成的部署腳本,但是在 Docker 盛行的今天,依然有很多同學(xué)在如何部署上有一些列問題,所以這篇簡(jiǎn)單介紹一下如何使用 Docker 以及 docker-compose 在服務(wù)器上部署 php 應(yīng)用。


首先我們回顧一下過去的 nginx 里 php 配置:


location ~ \.php$ {
 try_files  $uri =404;
 include   fastcgi_params;
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}


所有 php 文件使用 php 引擎來解析,php 運(yùn)行在本地的 9000 端口(可以通過 ip/unix domain sockets 訪問),既然可以是本地,當(dāng)然也可以通過 遠(yuǎn)程服務(wù) 來解析了。


故而我們的 nginx 服務(wù)如下配置:


server {
 listen  80;
 charset utf-8;
 # access_log /var/log/nginx/nginx.access.log main;
 # error_log /var/log/nginx/error.log;

 root /var/www/html;
 index index.php index.html;

 add_header X-Cache $upstream_cache_status;

 location ~ \.php$ {
  try_files  $uri =404;
  include   fastcgi_params;
  fastcgi_pass php-fpm:9000;
  fastcgi_index index.php;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 }
}


于此同時(shí),有個(gè)比較棘手的問題是,php 代碼在nginx 和 php 引擎都需要存在,不然解析不了,但這都不是事啊,docker 的 volume 天然支持!


直接看下面的 docker-compose.yml 配置:


version: '2'
services:
 nginx:
  image: nginx:stable-alpine
  ports:
   - 80:80
  volumes:
   - ./conf/nginx/conf.d:/etc/nginx/conf.d
  volumes_from:
   - php-fpm
  restart: always

 php-fpm:
  image: php:7.1-fpm-alpine
  volumes:
   - ./code:/var/www/html
  restart: always


注意點(diǎn):


php-fpm 掛載了本地目錄 code 到 /var/www/html
nginx conf 中使用了 service_name 來訪問 php-fpm
nginx 通過 volumes_from 指令共享了 php-fpm 的 /var/www/html
在 code 目錄下 index.php 里寫一下:


<?php
echo phpinfo();



然后運(yùn)行:


# bash
docker-compose up


那么問題來了,有小伙伴要問了,依賴怎么辦?好的,這就是我要繼續(xù)說的。


在你的項(xiàng)目里放一個(gè) Dockerfile:


FROM php:7.1-fpm-alpine
RUN docker-php-install pdo pdo-mysql
COPY src /var/www/html


構(gòu)建的話可以選擇阿里云鏡像服務(wù)構(gòu)建功能或者是 Docker 提供的自動(dòng)構(gòu)建,然后更新一下之前的 docker-compose.yml 即可:



version: '2'
services:
 nginx:
  image: nginx:stable-alpine
  ports:
   - 8000:80
  volumes:
   - ./conf/nginx/conf.d:/etc/nginx/conf.d
  volumes_from:
   - php-fpm
  restart: always

 php-fpm:
  image: {YOUR_PHP_IMAGE_NAME}:{TAG}
  restart: always



以上就是扣丁學(xué)堂PHP在線學(xué)習(xí)小編給大家分享的PHP應(yīng)用容器化以及部署方法,希望對(duì)小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢??鄱W(xué)堂有專業(yè)的PHP培訓(xùn)班,不僅有時(shí)俱進(jìn)的課程體系還有專業(yè)的老師授課,定能讓你輕松學(xué)習(xí),高薪就業(yè)??鄱W(xué)堂PHP技術(shù)交流群:374332265。


扣丁學(xué)堂微信公眾號(hào)

【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】

 


查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>




標(biāo)簽: 扣丁學(xué)堂PHP培訓(xùn) PHP應(yīng)用容器化以及部署方法 PHP培訓(xùn) PHP在線學(xué)習(xí) PHP在線視頻 PHP基礎(chǔ)視頻

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部