首页 > 编程语言 >Docker部署php运行环境

Docker部署php运行环境

时间:2024-05-29 10:23:50浏览次数:13  
标签:index www 部署 nginx html Docker php fastcgi

编写docker-compose.yml配置文件,使用nginx作为web服务器,转发php的请求。

version: "3"

services:
  web:
    image: nginx:stable-alpine
    ports:
      - "8081:80"
    volumes:
      - ./nginx/www:/usr/share/nginx/html
      - ./nginx/conf.d:/etc/nginx/conf.d:ro

  php:
    image: php:7.3.29-fpm
    volumes:
      - ./nginx/www:/www

分别再对应的目录中准备一个index.php文件来验证php的可行性

<?php
    phpinfo();
?>

再写一个Nginx的配置来转发php的请求

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }

    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  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

启动这个服务,访问网站可以看到php的版本信息。
PHP_INFO

如果我们需要部署一个Typecho,从Typecho官网下载源码并在网站目录中解压,再访问首页就会出现初始化安装页面
Typecho安装页面
然后就是根据特定代码踩坑就行。。。

标签:index,www,部署,nginx,html,Docker,php,fastcgi
From: https://www.cnblogs.com/mrchip/p/18219621

相关文章

  • docker数据卷的作用及用法
    一、数据卷的作用解决容器与数据耦合的问题1.当我们要进入到docker容器内部修改代码时,很不方便,不便于修改。2.数据不可复用,在容器内的修改对外是不可见的,所有修改对新创建的容器是不可复用的。3.升级维护困难,数据在容器内,当我们要升级容器必然要删除旧容器,所有数据也都跟着删除了......
  • 制作Docker镜像
    目录一、Docker构建镜像的原理1、镜像分层原理2、Docker的镜像结构3、分层存储原理4、构建命令与层的关系5、最终镜像的创建二、dockercommit构建镜像1、使用场景2、手动制作yum版的nginx镜像2.1、启动一个centos容器,安装好常用的软件以及nginx2.2、关闭nginx后台运行2.3、自定......
  • 最详细的k8s中部署Jenkins教程+基于jenkins+k8s(container)实现CI/CD
    k8s中部署Jenkins系统环境:• kubernetes版本:1.23.3• jenkins版本:2.172• jenkins部署示例文件Github地址:https://github.com/my-dlq/blog-example/tree/master/jenkins-deploy一、设置存储目录在Kubenetes环境下所起的应用都是一个个Docker镜像,为了保证......
  • DockerDesktop中启动jenkins容器时提示:Can not write to /var/jenkins_home/copy_ref
    场景Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/139264096按照以上教程搭建之后想要运行jenkins容器,所以执行如下指令dockerrun-d--namejenkins-p18088:8080-v/jenkinshome:......
  • vue 项目发布到docker
    在vue项目目录下执行npmrunbuild 会生成dist文件夹,dist文件夹中的内容就是包含了打包好的静态文件 写dockerfile FROMnginx#将本地的dist文件夹复制到nginx默认的静态文件目录COPY./dist/usr/share/nginx/html执行 dockerbuild-tmy-vue-app.  ......
  • (免费领源码)Java/Mysql数据库+01012大学生爱心互助代购网站,计算机毕业设计项目推荐上万
    摘 要在网络信息的时代,众多的软件被开发出来,给用户带来了很大的选择余地,而且人们越来越追求更个性的需求。在这种时代背景下,企业只能以用户为导向,按品种分类规划,以产品的持续创新作为企业最重要的竞争手段。系统采用了B/S结构,将所有业务模块采用以浏览器交互的模式,选择My......
  • (免费领源码)Java/Mysql数据库+00895springboot的校园二手书销售平台,计算机毕业设计项目
    本科学生毕业设计校园二手书销售平台设计与实现                院系名称:    计算机科学与技术学院    专业班级:                            学生姓名:                           ......
  • (免费领源码)Java/Mysql数据库+00750基于python的音乐电台推荐系统设计,计算机毕业设计项
    毕业设计(论文)Django音乐电台推荐系统学   院:                           专   业:                           年   级:                           姓   名:   ......
  • (免费领源码)Java/Mysql数据库+00485 个性化音乐推荐系统的设计与实现,计算机毕业设计项
    毕业设计(论文)NodeJS个性化音乐推荐系统学   院:                           专   业:                           年   级:                           姓   名:  ......
  • 一分钟部署prometheus&grafana全方面监控SpringBoot项目
    0x01创建目录找一个你喜欢的地方,创建项目根目录example:[root@demo-78~]#mkdir/data/prometheus0x02创建配置文件进入到项目根目录:[root@demo-78~]#cd/data/prometheus需要新建三个文件,分别是docker-compose.yml、prometheus.yml、node_down.yml,详细配置如下......