Docker 安裝 PHP并與Nginx的部署實(shí)例講解
安裝 PHP 鏡像
查找 Docker Hub 上的 php 鏡像:
此外,我們還可以用 docker search php 命令來查看可用版本:
這里我們拉取官方的鏡像,標(biāo)簽為7.3.24-fpm-stretch
docker pull php:7.3.24-fpm-stretch
等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為php,標(biāo)簽為7.3.24-fpm-stretch的鏡像。
Nginx + PHP 部署
Nginx 部署可以查看本人博客中:Docker 安裝 Nginx,一些 Nginx 的配置參考這篇文章。
啟動(dòng) PHP:
docker run -d -v /root/nginx/www:/var/www/html -p 9000:9000 --name xy_phpfpm php:7.3.24-fpm-stretch
參數(shù)說明
-d 讓容器在后臺(tái)運(yùn)行
-p 添加主機(jī)到容器的端口映射
-v 添加目錄映射,即主機(jī)上的 /root/nginx/www和容器中/var/www/html目錄是同步的
-v /root/nginx/www:/var/www/html : 將主機(jī)中項(xiàng)目的目錄 /root/nginx/www 掛載到容器的/var/www/html
–name myphp-fpm : 將容器命名為 my_phpfpm
查看PHPfpm端口9000是否啟動(dòng)
這步很重要,沒啟動(dòng)的話需要重裝php鏡像
netstat -tunlp |grep 9000
netstat
netstat -tunlp
用于顯示 tcp,udp 的端口和進(jìn)程等相關(guān)情況。
netstat 查看端口占用語(yǔ)法格式:
netstat -tunlp | grep 端口號(hào)
-t (tcp) 僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化為數(shù)字
-l 僅列出在Listen(監(jiān)聽)的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
宿主機(jī)創(chuàng)建掛在目錄
創(chuàng)建 ~/nginx/conf/conf.d 目錄:
mkdir ~/nginx/conf/conf.d
在該目錄下添加 ~/nginx/conf/conf.d/runoob-test-php.conf 文件,內(nèi)容如下:
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } }
配置文件說明:
php:9000: 表示 php-fpm 服務(wù)的 URL,下面我們會(huì)具體說明。 /var/www/html/: 是 xy_phpfpm容器 中 php 文件的存儲(chǔ)路徑,映射到本地的 ~/nginx/www 目錄。
啟動(dòng) nginx:
docker run --name ngixn -p 80:80 -d \ -v /root/nginx/www:/usr/share/nginx/html:ro \ -v /root/nginx/conf/conf.d:/etc/nginx/conf.d:ro \ --link xy_phpfpm:php \ nginx
參數(shù)說明
-p 80:80: 端口映射,把 nginx 中的 80 映射到本地的 8083 端口。 ~/nginx/www: 是本地 html 文件的存儲(chǔ)目錄,/usr/share/nginx/html 是容器內(nèi) html 文件的存儲(chǔ)目錄。 ~/nginx/conf/conf.d: 是本地 nginx 配置文件的存儲(chǔ)目錄,/etc/nginx/conf.d 是容器內(nèi) nginx 配置文件的存儲(chǔ)目錄。 --link xy_phpfpm:php: 把 xy_phpfpm 的網(wǎng)絡(luò)并入 nginx,并通過修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,讓 nginx 通過 php:9000 訪問 php-fpm。
接下來我們?cè)?~/nginx/www 目錄下創(chuàng)建 index.php,代碼如下:
<?php echo phpinfo(); ?>
瀏覽器打開 http://106.52.36.65:8083/index.php,顯示如下:
說明
凡是修改了nginx配置都需要重啟nginx服務(wù)
docker stop ngixn docker start ngixn
到此這篇關(guān)于Docker 安裝 PHP并與Nginx的部署實(shí)例講解的文章就介紹到這了,更多相關(guān)Docker 安裝 PHP并與Nginx的部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何使用SublimeText3配置 PHP IDE環(huán)境
這篇文章主要介紹了如何使用SublimeText3配置 PHP IDE環(huán)境,并使用Xdebug進(jìn)行調(diào)試,喜歡使用SublimeText的同學(xué),可以參考下2021-04-04php+ajax實(shí)現(xiàn)無刷新數(shù)據(jù)分頁(yè)的辦法
這篇文章主要介紹了php+ajax實(shí)現(xiàn)無刷新分頁(yè)的方法,詳細(xì)講述了數(shù)據(jù)庫(kù)的創(chuàng)建、Ajax文件的實(shí)現(xiàn)及PHP調(diào)用方法,需要的朋友可以參考下2015-11-11ThinkPHP 表單自動(dòng)驗(yàn)證運(yùn)用示例
add_post事件里的代碼,就清楚要接收什么數(shù)據(jù),如何驗(yàn)證數(shù)據(jù)能夠在第一眼有個(gè)大致了解,所以總結(jié)出了此方式2014-10-10