Docker 安装 PHP并与Nginx的部署实例讲解
安装PHP镜像
查找DockerHub上的php镜像:
此外,我们还可以用dockersearchphp命令来查看可用版本:
这里我们拉取官方的镜像,标签为7.3.24-fpm-stretch
dockerpullphp:7.3.24-fpm-stretch
Nginx+PHP部署
Nginx部署可以查看本人博客中:Docker安装Nginx,一些Nginx的配置参考这篇文章。
启动PHP:
dockerrun-d-v/root/nginx/www:/var/www/html-p9000:9000--namexy_phpfpmphp: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
–namemyphp-fpm:将容器命名为my_phpfpm
查看PHPfpm端口9000是否启动
这步很重要,没启动的话需要重装php镜像
netstat-tunlp|grep9000
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
在该目录下添加~/nginx/conf/conf.d/runoob-test-php.conf文件,内容如下:
server{ listen80; server_namelocalhost; location/{ root/usr/share/nginx/html; indexindex.phpindex.htmlindex.htm; } error_page500502503504/50x.html; location=/50x.html{ root/usr/share/nginx/html; } location~\.php${ fastcgi_passphp:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME/var/www/html/$fastcgi_script_name; includefastcgi_params; } }
配置文件说明:
php:9000:表示php-fpm服务的URL,下面我们会具体说明。 /var/www/html/:是xy_phpfpm容器中php文件的存储路径,映射到本地的~/nginx/www目录。
启动nginx:
dockerrun--namengixn-p80:80-d\ -v/root/nginx/www:/usr/share/nginx/html:ro\ -v/root/nginx/conf/conf.d:/etc/nginx/conf.d:ro\ --linkxy_phpfpm:php\ nginx
参数说明
-p80:80:端口映射,把nginx中的80映射到本地的8083端口。 ~/nginx/www:是本地html文件的存储目录,/usr/share/nginx/html是容器内html文件的存储目录。 ~/nginx/conf/conf.d:是本地nginx配置文件的存储目录,/etc/nginx/conf.d是容器内nginx配置文件的存储目录。 --linkxy_phpfpm:php:把xy_phpfpm的网络并入nginx,并通过修改nginx的/etc/hosts,把域名php映射成127.0.0.1,让nginx通过php:9000访问php-fpm。
接下来我们在~/nginx/www目录下创建index.php,代码如下:
浏览器打开http://106.52.36.65:8083/index.php,显示如下:
说明
凡是修改了nginx配置都需要重启nginx服务
dockerstopngixn dockerstartngixn
到此这篇关于Docker安装PHP并与Nginx的部署实例讲解的文章就介绍到这了,更多相关Docker安装PHP并与Nginx的部署内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。