当前位置: 首页 > 编程笔记 >

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

楚和悌
2023-03-14
本文向大家介绍Docker 安装 PHP并与Nginx的部署实例讲解,包括了Docker 安装 PHP并与Nginx的部署实例讲解的使用技巧和注意事项,需要的朋友参考一下

安装 PHP 镜像

查找 Docker Hub 上的 php 镜像:


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


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

docker pull php:7.3.24-fpm-stretch

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


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

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 {
 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,显示如下:


说明

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

docker stop ngixn
docker start ngixn

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

 类似资料:
  • 本文向大家介绍docker在linux上的安装部署实例讲解,包括了docker在linux上的安装部署实例讲解的使用技巧和注意事项,需要的朋友参考一下 以下文章了解之后你可以在服务器上部署项目,本地不需要安装 tomcat,jdk,mysql等服务器,通过docker可以一键解决 安装docker 若找不到资源,需要更新资源库,命令为: 查看docker版本 更多的docker相关知识请关注:ht

  • 本文向大家介绍Docker安装Nginx教程实现图例讲解,包括了Docker安装Nginx教程实现图例讲解的使用技巧和注意事项,需要的朋友参考一下 这里来安装下Nginx试下。 注意要明确一点,镜像是类,容器是对象。 查看当前的镜像 看到只有一个测试的镜像。 拉取镜像: 下载成功后查看,镜像已经被下载下来了: 使用 nginx 镜像 运行容器: 查看容器运行情况: 然后在浏览器输入网址: 修改文件

  • 本文向大家介绍php和nginx交互实例讲解,包括了php和nginx交互实例讲解的使用技巧和注意事项,需要的朋友参考一下 Nginx与PHP交互过程的7步走(用户对动态PHP网页访问过程) step1:用户将http请求发送给nginx服务器(用户和nginx服务器进行三次握手进行TCP连接)。 step2:nginx会根据用户访问的URL和后缀对请求进行判断。 step3:通过第二步可以看出,

  • MinDoc 是基于Golang开发的文档管理系统,官方支持linux x64、windows x64和windows x86三个平台的二进制安装包。 如果有用户在其他平台上部署,可自行编译目标平台的二进制文件。 MinDoc 不支持绑定域名,如果想使用域名访问,可让 MinDoc 独占 80 端口,或使用Nginx做反向代理。

  • 本文向大家介绍docker-compose部署php项目实例详解,包括了docker-compose部署php项目实例详解的使用技巧和注意事项,需要的朋友参考一下 1.制定特定扩展的PHP镜像 2.编写yml文件 3.配置default.conf文件 4.修改mysql允许远程连接并新建数据库 5.创建并且启动容器 6.新建index.php测试mysql连接

  • Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 。 1、查看可用的 Nginx 版本 访问 Nginx 镜像库地址: https://hub.docker.com/_/nginx?tab=tags。 可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest。 你也可以在下拉列表中找到其他你想要