日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php服务docker化,docker化你的PHP应用环境Nginx PHP-FPM

發(fā)布時間:2023/12/20 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php服务docker化,docker化你的PHP应用环境Nginx PHP-FPM 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

[隱藏]

開始之前

配置Nginx

配置PHP

開始之前

在開始之前,我們假設你對Docker使用已經(jīng)有了一些經(jīng)驗。本文嘗試使用Docker官方存儲庫來運行一個簡單的PHP應用程序,環(huán)境是Nginx和PHP。首先第一件事當然是安裝Docker(如果你還沒安裝)。第二獲取Docker Compose。

配置Nginx

我們從配置Web服務器開始,這里我們使用Docker官方的Nginx鏡像。既然我們準備使用Docker Compose,我們接下來先創(chuàng)建docker-compose.yml文件,其實docker nginx的80端口映射到宿主機的8080端口:

web:

image: nginx:latest

ports:

– "8080:80"

現(xiàn)在我們運行:

docker-compose up

現(xiàn)在我們應該通過ip:8080會得到nginx的默認頁面了。

現(xiàn)在nginx是啟動了,讓我們再來添加一些配置。首先更新docker-compose.yml使它掛載到一個本地目錄。我們使用目錄code。

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

下一步我們創(chuàng)建一個虛擬機配置文件site.conf,設置其根目錄為/code,把該文件放置到與docker-compose.yml同級目錄。

server {

index index.html;

server_name php-docker.local;

error_log? /var/log/nginx/error.log;

access_log /var/log/nginx/access.log;

root /code;

}

為了讓這個虛擬機配置生效,我們還需要再次更改docker-compose.yml文件:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

此次更新是把本地的site.conf掛載docker nginx里的/etc/nginx/conf.d/site.conf,這樣這個配置文件就被添加到docker nginx里了。下面我們執(zhí)行這個命令生效它:

docker-compose up

配置PHP

現(xiàn)在我們已經(jīng)把nginx配置好了,接下來配置PHP。首先是拉取官方的PHP7-FPM鏡像,并鏈接到Nginx容器,docker-compose.yml如下:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

links:

– php

php:

image: php:7-fpm

下一步是配置nginx使用php-fpm容器來解析php文件。更新后的site.conf如下:

server {

index index.php index.html;

server_name php-docker.local;

error_log? /var/log/nginx/error.log;

access_log /var/log/nginx/access.log;

root /code;

location ~ .php$ {

try_files $uri =404;

fastcgi_split_path_info ^(.+.php)(/.+)$;

fastcgi_pass php:9000;

fastcgi_index index.php;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

}

}

為了測試,讓我們在./code目錄新建一個index.php,內(nèi)容如下:

phpinfo();

?>

然后通過ip:8080打開,但出現(xiàn)File not found錯誤。這是因為PHP容器找不到此文件,我們也需要像nginx一樣掛載code目錄,更新docker-compose.yml文件如下:

web:

image: nginx:latest

ports:

– "8080:80"

volumes:

– ./code:/code

– ./site.conf:/etc/nginx/conf.d/site.conf

links:

– php

php:

image: php:7-fpm

volumes:

– ./code:/code

最后,啟動容器:

docker-compose up

我們將會看到正常的phpinfo頁面

docker化你的PHP應用環(huán)境Nginx PHP-FPM

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的php服务docker化,docker化你的PHP应用环境Nginx PHP-FPM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。