广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Docker搭建PHP运行环境
  • 955
分享到

Docker搭建PHP运行环境

phpdocker运维 2023-09-04 12:09:07 955人浏览 泡泡鱼
摘要

目录 Docker 安装 PHP Docker 安装 Nginx  ​编辑运行nginx容器 nginx安装成功 Nginx + PHP 部署PHP项目 启动 PHP:  启动 nginx: 查看正在运行的容器:  访问域名测试搭建结果 D

目录

Docker 安装 PHP

Docker 安装 Nginx 

​编辑运行nginx容器

nginx安装成功

Nginx + PHP 部署PHP项目

启动 PHP: 

启动 nginx:

查看正在运行的容器: 

访问域名测试搭建结果

Docker相关命令描述


Docker 安装 PHP

  • 这里我们拉取官方的镜像,标签为7.1-fpm 
docker pull php:7.1-fpm

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

Docker 安装 Nginx 

 访问 Nginx 镜像库地址: Docker

可以通过 Sort by 查看其他版本的 Nginx,默认是最新版本 nginx:latest。 

  • 这里我们拉取官方的最新版本的镜像: 
docker pull nginx:latest
  •  使用以下命令来查看是否已安装了 nginx:

运行nginx容器

  • 安装完成后,我们可以使用以下命令来运行 nginx 容器:
docker run --name nginx-test -p 8080:80 -d nginx

参数说明:

  • --name nginx-test:容器名称。
  • -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
  • -d nginx: 设置容器在在后台一直运行

 

nginx安装成功

  • 最后我们可以通过浏览器可以直接访问 8080 端口的 nginx 服务: 

Nginx + PHP 部署PHP项目

启动 PHP: 

docker run --name  myphp-fpm -p 9000:9000 -v /var/www/blog:/www  -d php:7.1-fpm

命令说明:

  • --name myphp-fpm : 将容器命名为 myphp-fpm。

  • -v /var/www/blog:/www : 将主机中PHP项目目录挂载到容器的 /www目录,在容器内访问 /www 就相当于访问宿主机的 /var/www/blog

  • php:7.1-fpm 镜像名

  • 创建一个存放nginx配置文件的目录。这个目录等下要挂载到容器里。
mkdir -p /opt/docker/nginx/conf.d

 

  • 创建一个空配置文件
vim testdocker.conf
  •  在该目录下添加 /opt/docker/nginx/conf.d/testdocker.conf 文件,内容如下:
server {    # 监听端口。此端口不能被占用了    listen       80;    # 此站点的域名。直接在宿主机配置一个host域名,或者在阿里云等云服务商那里解析过来。    server_name  www.testdocker.com;    # 此站点的入口目录。这里要注意,/www/public/ 路径是容器内的路径。因为等下会把宿主机的项目路径挂载到容器内的 /www 目录。所以这里访问 /www就相当于访问宿主机的项目路径。    root  /www/public/;    #配置url的伪静态设置    location / {       autoindex off;       if (!-e $request_filename){          rewrite ^/(.*)$ /index.php?/$1 last;        break;       }       #伪静态设置       try_files $uri $uri/ /index.php$is_args$query_string;       index index.php index.html index.htm;    }    #配置url处理及转发PHP请求    location ~ \.php(/|$) {        # 入口文件        fastcgi_index index.php;        # PHP项目的IP和端口。这是php-fpm的地址。由于nginx处理不了PHP代码,所以需要把请求转发给php-fpm进行处理。        fastcgi_pass  10.10.10.68:9000;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        include       fastcgi_params;    }    # 用户的访问日志。注意,这目录必须存在,否则nginx将启动不了。由于我把宿主机的项目路径www挂载到了容器内的/www目录,所以宿主机的项目路径www里需要有wwwlogs目录。    access_log  /var/log/nginx/docker_nginx_access.log;    # 错误日志    error_log  /var/log/nginx/docker_nginx_error.log;}

配置文件说明:

  • 10.10.10.68:9000:表示 php-fpm 服务的 URL,下面我们会具体说明。
  • root  /www/public/:项目的根目录,这里之所以写成( /www/public),是因为在启动PHP时,已经将项目的根目录(/var/www/blog)挂载到容器内的/www目录了

启动 nginx:

docker run --name my-nginx -p 80:80 -d -v /var/www/blog:/www -v /opt/docker/nginx/conf.d:/etc/nginx/conf.d nginx
  • -v /var/www/blog:/www 把宿主机的项目目录 /var/www/blog 挂载到容器内的 /www 目录。容器内访问 /www 就相当于访问 /var/www/blog
  • -v /opt/docker/nginx/conf.d:/etc/nginx/conf.d 把宿主机的配置目录,挂载到容器内nginx的配置目录。nginx 会自动去加载这目录内所有的配置文件。/opt/docker/nginx/conf.d 里建议每个站点对应一个配置文件。
  • -d 后台静默运行

查看正在运行的容器: 

  • 真确的结果如下图(图一):

  • 错误的结果如下图(图二):

  • 图一和图二的区别:

图一端口(9000)生效,图二端口(9000)没生效,如果php-fpm没有端口,最后导致的结果就是,客户端通过域名访问项目,在通过nginx请求php-fpm时会提示:502
nginx错误提示是:connect() failed (111: Connection refused) while connecting to upstream

访问域名测试搭建结果

Docker相关命令描述

docker container attach     附加到正在运行的容器docker container commit     从容器的更改创建一个新的映像docker container cp         在容器和本地文件系统之间复制文件/文件夹docker container create     创建一个新的容器docker container diff       检查容器文件系统上文件或目录的更改docker container exec       在运行容器中运行命令docker container export     将容器的文件系统导出为tar存档docker container inspect    显示一个或多个容器的详细信息docker container kill       杀死一个或多个运行容器docker container logs       获取容器的日志docker container ls         列出容器docker container pause      暂停一个或多个容器内的所有进程docker container port       列出端口映射或容器的特定映射docker container prune      取出所有停止的容器docker container rename     重命名容器docker container restart    重新启动一个或多个容器docker container rm         删除(移除)一个或多个容器docker container run        在新容器中运行命令docker container start      启动一个或多个停止的容器docker container stats      显示容器的实时流资源使用统计信息docker container stop       停止一个或多个运行容器docker container top        显示容器的正在运行的进程docker container unpause    取消暂停一个或多个容器内的所有流程docker container update     更新一个或多个容器的配置docker container wait       阻止一个或多个容器停止,然后打印退出代码

以上命令中的 container 可以省略不写,
例如命令:docker container stop 容器ID/容器名称 等同 docker stop 容器ID/容器名称

来源地址:https://blog.csdn.net/wplblog/article/details/128648790

--结束END--

本文标题: Docker搭建PHP运行环境

本文链接: https://www.lsjlt.com/news/393574.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker搭建PHP运行环境
    目录 Docker 安装 PHP Docker 安装 Nginx  ​编辑运行nginx容器 nginx安装成功 Nginx + PHP 部署PHP项目 启动 PHP:  启动 nginx: 查看正在运行的容器:  访问域名测试搭建结果 D...
    99+
    2023-09-04
    php docker 运维
  • docker搭建php环境
    PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根...
    99+
    2023-08-31
    php 开发语言 服务器
  • CentOS7环境下使用Docker搭建PHP运行环境的过程详解
    相关文章: CentOS7下使用yum安装Docker Win10环境下使用Docker搭建PHP运行环境 1、创建私有网络 docker network create lnmp...
    99+
    2022-11-12
  • php如何搭建运行环境
    本篇内容介绍了“php如何搭建运行环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、选择操作系统首先,你需要选择一个适合你的操作系统进行...
    99+
    2023-07-05
  • docker搭建nginx+php环境
    一、docker拉取nginx和php镜像 命令如下: docker pull nginx:latestdocker pull php:7.4-fpm 创建本地挂载路径: mkdir -p /dock...
    99+
    2023-09-02
    nginx php docker
  • ubuntu20+PHP项目运行环境搭建
    ubuntu20(root)+PHP+nginx+mysql nginx【较新版】 wget http://nginx.org/keys/nginx_signing.keyapt-key add nginx_signing.keylsb_r...
    99+
    2023-10-01
    数据库 Ubuntu20 PHP环境 sqlsrv
  • linux如何搭建php运行环境
    要在Linux上搭建PHP运行环境,可以按照以下步骤进行操作:1. 安装Apache HTTP服务器:在终端中运行以下命令来安装Ap...
    99+
    2023-08-29
    linux php
  • docker搭建php环境安装
    目录 一、什么是php?  二、docker拉取nginx和php镜像 三、创建容器   四、 测试 一、什么是php? PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高...
    99+
    2023-09-22
    php 开发语言 docker
  • Linux 环境搭建推荐教程(php运行环境)
    一、系统约定 软件源代码包存放位置:/usr/local/src 源码包编译安装位置(prefix):/usr/local/software_name 脚本以及维护程序存放位置:/usr/local/sbin mysql...
    99+
    2022-06-12
    Linux 环境搭建
  • win7下PHP运行环境搭建(apache2+mysql+php)
    php版本:php-5.3.2-Win32-VC6-x86,VC9是专门为IIS定制的,VC6 是为了其他WEB服务软件提供的,如 Apache。我下载的是ZIP包 下载地址 mysql版本:Windows (x86, ...
    99+
    2023-05-25
    win7 PHP 环境搭建 apache2 mysql php 环境 运行
  • 服务器上搭建php运行环境
    你是否想过在自己的服务器上搭建PHP运行环境,来运行一些基于PHP的Web应用程序,如WordPress或Drupal?在本文中,我们将讨论如何在Linux服务器上安装和配置PHP运行环境。首先,你需要使用SSH客户端连接到你的Linux服...
    99+
    2023-05-24
  • centos7上怎么搭建php运行环境
    CentOS 7是一款老牌的Linux操作系统,它的稳定性和安全性深受广大服务器使用者喜爱。如果你想在CentOS 7上搭建php运行环境,本文将为你介绍一种简单易懂的方法。安装Apache首先,我们需要在CentOS 7上安装一个Web服...
    99+
    2023-05-14
    php Centos7
  • centos7上如何搭建php运行环境
    这篇文章主要讲解了“centos7上如何搭建php运行环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“centos7上如何搭建php运行环境”吧!安装Apache首先,我们需要在CentO...
    99+
    2023-07-05
  • Docker-dnmp环境搭建
    目录 dnmp环境搭建1、dnmp目录结构2、.env 配置文件3、docker-compose.yml4、dockerfile5、启动6、测试 遇到的问题1、PHP8 打不开2、MySQ...
    99+
    2023-09-01
    docker php 容器
  • 怎么搭建一个基于Docker的Tomcat运行环境
    这篇文章主要介绍“怎么搭建一个基于Docker的Tomcat运行环境”,在日常操作中,相信很多人在怎么搭建一个基于Docker的Tomcat运行环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么搭建一个基...
    99+
    2023-06-04
  • CentOS7系统搭建PHP运行环境(Apache + Php + Mysql)
    一、起步操作 查询系统版本、系统内核 cat /etc/redhat-releasecat /proc/version 二、搭建Apache 1.安装Apache yum instal...
    99+
    2023-09-13
    centos php Powered by 金山文档
  • 如何搭建php服务器运行环境
    要搭建PHP服务器运行环境,需要进行以下步骤:1、安装Web服务器Web服务器是用于运行PHP脚本的基础,常见的Web服务器有Apa...
    99+
    2023-03-15
    搭建php服务器 php服务器 服务器
  • 如何搭建hadoop运行环境
    这篇文章主要介绍如何搭建hadoop运行环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! Hadoop作为搭建大数据处理平台的重要“基石”,关于它的分析和讲解的文章已经有很多了。Hadoop本身是一分布式...
    99+
    2023-06-02
  • 怎么​搭建java运行环境
    本文小编为大家详细介绍“怎么搭建java运行环境”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么搭建java运行环境”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。搭建java...
    99+
    2022-10-19
  • es6运行环境如何搭建
    本文小编为大家详细介绍“es6运行环境如何搭建”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6运行环境如何搭建”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作