Docker部署php+nginx环境

Docker部署php+nginx环境

因公司要使用Dzzoffice、需要用到php+nginx+mysql的环境,所以先用docker搭一套环境测试一下Dzzoffice。mysql测试服务器布的太多了,在这里直接复用了,就不再文章里写了。

一、安装nginx

1、docker 仓库寻找镜像

docker search ngxin

[root@node2 ~]# docker search nginx
NAME                                              DESCRIPTION                                      STARS     OFFICIAL   AUTOMATED
nginx                                             Official build of Nginx.                         18491     [OK]       
unit                                              Official build of NGINX Unit: Universal Web …   0         [OK]       
bitnami/nginx                                     Bitnami nginx Docker Image                       162                  [OK]
bitnami/nginx-ingress-controller                  Bitnami Docker Image for NGINX Ingress Contr…   25                   [OK]
ubuntu/nginx                                      Nginx, a high-performance reverse proxy & we…   89                   
kasmweb/nginx                                     An Nginx image based off nginx:alpine and in…   6                    
rancher/nginx-ingress-controller                                                                   11                   
rancher/nginx-ingress-controller-defaultbackend                                                    2                    
bitnami/nginx-exporter                                                                             3                    
rancher/nginx                                                                                      2                    
rapidfort/nginx-ib                                RapidFort optimized, hardened image for NGIN…   0                 
... ...

不重要就是看一眼

2、拉取nginx镜像

docker pull nginx

默认拉取latest版本

也可以拉取指定版本

docker pull nginx:1.20

3、为ngxin挂载做准备

创建目录,为nginx容器挂载用

mkdir -p /usr/local/docker/nginx/logs

mkdir -p /usr/local/docker/nginx/html

mkdir -p /usr/local/docker/nginx/conf/conf.d

创建一个nginx容器

docker run --name nginx -p 8080:80 -d nginx

页面访问本地IP+80端口访问到index.html(我对页面进行了修改)表示nginx运行没问题
在这里插入图片描述

把ngixn容器内自己需要的文件复制到宿主机

这里我需要,nginx的配置文件

#配置
docker cp nginx:/etc/nginx/conf.d/default.conf /docker/nginx/conf/conf.d/default.conf
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx/conf/nginx.conf

然后就可以停止并删除当前nginx容器了

docker stop nginx
docker rm nginx

4、启动正式用的nginx容器

docker run --name nginx -p 80:80 \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /docker/nginx/logs:/var/nginx/logs \
-v /docker/nginx/html:/usr/share/nginx/html -d nginx

然后自己验证nginx是否启动成功

二、Docker安装php

1、docker拉取php镜像

docker pull php:7.3-fpm

2、启动php容器

这里挂载的目录要和nginx的一样

docker run -p 9000:9000 --name  php -v /usr/local/docker/nginx/html:/usr/share/nginx/html  -d php:7.3-fpm

三、配置nginx文件

要想可以通过ngxin访问php项目要进行nginx配置的修改

修改后重启nginx容器生效

配置如下:

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

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

    location ~ \.php$ {
    	#php项目的目录
        root           /usr/share/nginx/html;
        #php-fpm的容器ID+监听的端口,默认9000
        fastcgi_pass   172.17.0.3:9000;
        fastcgi_index  index.php;
        # 设置脚本文件请求的路径 使用觉得路径
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
        # 设置脚本文件请求的路径 使用变量
        #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name
        fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
        # 引入fastcgi的配置文件
        include        fastcgi_params;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

四、测试

# 进入宿主机php项目的挂载目录
cd /docker/nginx/html
# 编辑phpinfo页面
vim index.php

<?php phpinfo(); ?>

前台页面访问 主机IP+监听端口/index.php
在这里插入图片描述
看到如上页面即成功,可以去部署我的Dzzoffice啦。

Dzzoffice看下篇文章。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值