安裝 PHP 鏡像
查找 Docker Hub 上的 php 鏡像:
![](/d/20211017/766d863a00560dc6a9f29dd6a22c8895.gif)
此外,我們還可以用 docker search php 命令來查看可用版本:
![](/d/20211017/7c9c5379f656c3a1efe93c65cbfb8a9b.gif)
這里我們拉取官方的鏡像,標(biāo)簽為7.3.24-fpm-stretch
docker pull php:7.3.24-fpm-stretch
![](/d/20211017/46547ec16160cc84c8c774ce2259cf8f.gif)
等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為php,標(biāo)簽為7.3.24-fpm-stretch的鏡像。
![](/d/20211017/20a9b84b597c47eb18a77ff66281fc25.gif)
Nginx + PHP 部署
Nginx 部署可以查看本人博客中:Docker 安裝 Nginx,一些 Nginx 的配置參考這篇文章。
啟動 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 讓容器在后臺運(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是否啟動
這步很重要,沒啟動的話需要重裝php鏡像
netstat -tunlp |grep 9000
![](/d/20211017/cc18e55a33efffe378b27736336b3358.gif)
netstat
netstat -tunlp
用于顯示 tcp,udp 的端口和進(jìn)程等相關(guān)情況。
netstat 查看端口占用語法格式:
netstat -tunlp | grep 端口號
-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
![](/d/20211017/21092de46f4b56fae7f1619511437c92.gif)
在該目錄下添加 ~/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,下面我們會具體說明。
/var/www/html/: 是 xy_phpfpm容器 中 php 文件的存儲路徑,映射到本地的 ~/nginx/www 目錄。
啟動 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 文件的存儲目錄,/usr/share/nginx/html 是容器內(nèi) html 文件的存儲目錄。
~/nginx/conf/conf.d: 是本地 nginx 配置文件的存儲目錄,/etc/nginx/conf.d 是容器內(nèi) nginx 配置文件的存儲目錄。
--link xy_phpfpm:php: 把 xy_phpfpm 的網(wǎng)絡(luò)并入 nginx,并通過修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,讓 nginx 通過 php:9000 訪問 php-fpm。
接下來我們在 ~/nginx/www 目錄下創(chuàng)建 index.php,代碼如下:
瀏覽器打開 http://106.52.36.65:8083/index.php,顯示如下:
![](/d/20211017/45c2682df25afeeeaf8b2585f993aa20.gif)
說明
凡是修改了nginx配置都需要重啟nginx服務(wù)
docker stop ngixn
docker start ngixn
到此這篇關(guān)于Docker 安裝 PHP并與Nginx的部署實(shí)例講解的文章就介紹到這了,更多相關(guān)Docker 安裝 PHP并與Nginx的部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 如何在Mac上通過docker配置PHP開發(fā)環(huán)境
- docker中實(shí)現(xiàn)安裝php拓展步驟講解
- Docker搭建OpenLDAP+phpLDAPadmin統(tǒng)一用戶認(rèn)證的方法
- Docker搭建php環(huán)境教程詳解
- docker 安裝 php-fpm 服務(wù) / 擴(kuò)展 / 配置的示例教程詳解
- docker靈活的構(gòu)建PHP環(huán)境的實(shí)現(xiàn)
- docker部署LNMP&phpMyAdmin的方法步驟
- php之使用docker運(yùn)行workerman案例講解