Docker 安装 PHP并与Nginx的部署实例讲解


Posted in PHP onFebruary 27, 2021

安装 PHP 镜像

查找 Docker Hub 上的 php 镜像:

Docker 安装 PHP并与Nginx的部署实例讲解

此外,我们还可以用 docker search php 命令来查看可用版本:

Docker 安装 PHP并与Nginx的部署实例讲解

这里我们拉取官方的镜像,标签为7.3.24-fpm-stretch

docker pull php:7.3.24-fpm-stretch

Docker 安装 PHP并与Nginx的部署实例讲解

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为7.3.24-fpm-stretch的镜像。

Docker 安装 PHP并与Nginx的部署实例讲解

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

参数说明

-d 让容器在后台运行

-p 添加主机到容器的端口映射

-v 添加目录映射,即主机上的 /root/nginx/www和容器中/var/www/html目录是同步的
-v /root/nginx/www:/var/www/html : 将主机中项目的目录 /root/nginx/www 挂载到容器的/var/www/html

?name myphp-fpm : 将容器命名为 my_phpfpm

查看PHPfpm端口9000是否启动

这步很重要,没启动的话需要重装php镜像

netstat -tunlp |grep 9000

Docker 安装 PHP并与Nginx的部署实例讲解

netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat 查看端口占用语法格式:

netstat -tunlp | grep 端口号

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

宿主机创建挂在目录

创建 ~/nginx/conf/conf.d 目录:

mkdir ~/nginx/conf/conf.d

Docker 安装 PHP并与Nginx的部署实例讲解

在该目录下添加 ~/nginx/conf/conf.d/runoob-test-php.conf 文件,内容如下:

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 服务的 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

参数说明

-p 80:80: 端口映射,把 nginx 中的 80 映射到本地的 8083 端口。
~/nginx/www: 是本地 html 文件的存储目录,/usr/share/nginx/html 是容器内 html 文件的存储目录。
~/nginx/conf/conf.d: 是本地 nginx 配置文件的存储目录,/etc/nginx/conf.d 是容器内 nginx 配置文件的存储目录。
--link xy_phpfpm:php: 把 xy_phpfpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。

接下来我们在 ~/nginx/www 目录下创建 index.php,代码如下:

<?php
echo phpinfo();
?>

浏览器打开 http://106.52.36.65:8083/index.php,显示如下:

Docker 安装 PHP并与Nginx的部署实例讲解

说明

凡是修改了nginx配置都需要重启nginx服务

docker stop ngixn
docker start ngixn

到此这篇关于Docker 安装 PHP并与Nginx的部署实例讲解的文章就介绍到这了,更多相关Docker 安装 PHP并与Nginx的部署内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
一个php作的文本留言本的例子(五)
Oct 09 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
如何使用php输出时间格式
Aug 31 PHP
php快递单号查询接口使用示例
May 05 PHP
PHP中if和or运行效率对比
Dec 12 PHP
php判断linux下程序问题实例
Jul 09 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
golang与PHP输出excel示例
Jul 22 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
php提供实现反射的方法和实例代码
Sep 17 PHP
PHP加MySQL消息队列深入理解
Feb 27 #PHP
php慢查询日志和错误日志使用详解
Feb 27 #PHP
php的单例模式及应用场景详解
Feb 27 #PHP
PHP+Mysql分布式事务与解决方案深入理解
Feb 27 #PHP
PHP并发场景的三种解决方案代码实例
Feb 27 #PHP
常见的5个PHP编码小陋习以及优化实例讲解
Feb 27 #PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 #PHP
You might like
解析PHP 使用curl提交json格式数据
2013/06/29 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python字符串格式化方式解析
2019/10/19 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
python代码如何注释
2020/06/01 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
总经理助理的八要求
2013/11/12 职场文书
加拿大留学自荐信
2014/01/28 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
留学顾问岗位职责
2014/04/14 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
护士个人年终总结
2015/02/13 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
推销搭讪开场白
2015/05/28 职场文书
《分数的意义》教学反思
2016/02/20 职场文书