0
点赞
收藏
分享

微信扫一扫

记录一次docker部署php全部过程

两岁时就很帅 2023-02-16 阅读 79

用docker部署一下php,其他语言部署也是类似。我们都知道php传统部署模式都是lnmp组合,即liunx+nignx+mysql+php,这次mysql先忽略。步骤:先把需要的镜像下载过来,通过nginx反向代理给php-fpm.

服务器环境:liunx centos7.6

docker拉取镜像

安装完之后,我们来看一下有没有镜像

记录一次docker部署php全部过程_nginx

安装niginx和php

​docker pull nginx:latest​​ 这里我直接拉最新版的niginx latest(最新版本)

记录一次docker部署php全部过程_php_02

​docker pull php:7.4-fpm​​ php我们就拉php7.4版本就好了

记录一次docker部署php全部过程_nginx_03

接下来我们要创建容器

docker 创建运行容器

​docker images​​ 查看一下镜像

记录一次docker部署php全部过程_nginx_04

1.创建nginx文件夹用来存放待会要挂载的目录,这里我是nginx文件夹 ​​mkdir -p /docker/nginx/www​

记录一次docker部署php全部过程_docker_05

2.​​docker run --name myphp-fpm -v /docker/nginx/www:/www -d 854be5bd67a6​​​创建运行php7.4运行容器,名为 myphp-fpm
​​​-v​​​是挂载的目录,容器和服务器本身挂载。为的是以后不用进去容器内,既能修改
​​​-d​​​后台运行
​​​854be5bd67a6​​​ php镜像的id,可以通过docker images
容器主要配置

记录一次docker部署php全部过程_nginx_06

3.创建运行容器,查看一下正在运行的docker的php容器·​​docker ps ​

​​4.创建conf、conf.d目录 ​​mkdir -p /docker/nginx/conf/conf.d​​,一定要用

​mkdir -p​​递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

记录一次docker部署php全部过程_php_07

5.创建自己的conf文件,并写入自己的配置conf文件可以自己命名

docker_php_cn.conf文件

server {
listen 80;
server_name docker.zhihao.cn; #这里修改成自己的域名
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;
}

#当请求网站下php文件的时候,反向代理到php-fpm
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}

接下来就创建运行nginx的容器,并打通容器之间的互联

docker run --name nginx1 -p 8090:80 -d -v /docker/nginx/www:/usr/share/nginx/html \
-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d \
--link myphp-fpm:php nginx


-p 主机和容器端口互联,主机8090:80
-v 目录挂载
link nginx和php容器互联​

如果我们想进一步的修改nginx配置。我们可以使用​​docker exec -it aa18aaaf3806 \base\sh​​ 进去容器里修改对应配置 ​​aa18aaaf3806​​是容器的id

解析域名

上面我已经通过conf文件,配置要绑定域名,接下来我们去服务商解析自己的域名都服务器ip地址即可

创建index.php

创建index.php,在docker/nginx/www创建即可

记录一次docker部署php全部过程_php_08

  • ​​图片托管​​

  • 组成
  • 分类
  • ​​1生活分享​​
  • ​​8学习笔记​​
  • ​​5技术教程​​
  • ​​2闲言碎语​​
  • ​​2源码分享​​
  • ​​1自学教程​​
  • 页面
  • ​​关于博客​​
  • ​​文章归档​​
  • ​​时光机​​
  • ​​申请友链​​
  • ​​项目展示​​
  • 友链
  • ​​跃动指尖​​
  • ​​Inkedus'Blog​​
  • ​​Yamdr​​
  • ​​教书先生博客​​
  • ​​海陌的小站 ​​
  • ​​TanJia​​

​​ 管理​​

​​ 文章​​

​​ 评论​​

记录一次docker部署php全部过程(全网最细)​​

  • 博主: ​​ 小豪​​
  •  发布时间:2022 年 03 月 09 日
  •  6483 次浏览
  •  ​​ 5 条评论​​
  •  4252 字数
  • 分类: ​​学习笔记​​

前言

太久没有写过博客的文章,今天就花个亿点的时间,来写一篇文章,我们就直面正题,拿了自己快过期的一台服务器。来用docker部署一下php,其他语言部署也是类似。我们都知道php传统部署模式都是lnmp组合,即liunx+nignx+mysql+php,这次mysql先忽略。步骤:先把需要的镜像下载过来,通过nginx反向代理给php-fpm.
服务器环境:liunx centos
​​

记录一次docker部署php全部过程_docker_09

​​

docker安装

首先我们来安装一下docker,使用官方安装脚本自动安装,安装命令如下

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 也可以使用国内daocloud一键安装命令
curl -sSL https://get.daocloud.io/docker | sh

Shell

博主使用的第一个安装命令,第二个命令也可以用。之前安装使用过
安装使用 ​​ docker version ​​ 查看一下当前版本,是否安装完毕

docker拉取镜像

安装完之后,我们来看一下有没有镜像
​​

记录一次docker部署php全部过程_docker_10

​​发现我们的docker还没有运行,先启动我们docker服务
service docker start

记录一次docker部署php全部过程_php_11


docekr启动完毕
我们接下来要安装nignx和php镜像,像mysql和redis就不做演示,我们镜像去哪里找呢
docker https://hub.docker.com/

安装niginx和php

​docker pull nginx:latest​​ 这里我直接拉最新版的niginx latest(最新版本)
​​

记录一次docker部署php全部过程_php_12

​​docker pull php:7.4-fpm php我们就拉php7.4版本就好了

记录一次docker部署php全部过程_docker_13


接下来我们要创建容器

docker 创建运行容器

​docker images​​ 查看一下镜像
​​

记录一次docker部署php全部过程_php_14

​​我们两个镜像都已经下载完毕,接下就创建运行容器
创建容器准备

  1. 创建nginx文件夹用来存放待会要挂载的目录,这里我是nginx文件夹 ​​mkdir -p /docker/nginx/www​

    记录一次docker部署php全部过程_nginx_15

2.​​docker run --name myphp-fpm -v /docker/nginx/www:/www -d 854be5bd67a6​​创建运行php7.4运行容器,名为 myphp-fpm
​-v​​是挂载的目录,容器和服务器本身挂载。为的是以后不用进去容器内,既能修改
​-d​​后台运行
​854be5bd67a6​​ php镜像的id,可以通过docker images
容器主要配置
​​

记录一次docker部署php全部过程_nginx_16

​​3.创建运行容器,查看一下正在运行的docker的php容器·docker ps
4.创建conf、conf.d目录 mkdir -p /docker/nginx/conf/conf.d,一定要用
mkdir -p递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

记录一次docker部署php全部过程_nginx_17


5.创建自己的conf文件,并写入自己的配置conf文件可以自己命名

记录一次docker部署php全部过程_docker_18

docker_zhihao1_cn.conf文件

server {
listen 80;
server_name docker.zhihao.cn; #这里修改成自己的域名
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;
}

#当请求网站下php文件的时候,反向代理到php-fpm
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}

# 具体备注可以看 https://www.cnblogs.com/donghui521/p/10334776.html

nginx

接下来就创建运行nginx的容器,并打通容器之间的互联
​docker run --name nginx1 -p 8080:80 -d ​-v /docker/nginx/www:/usr/share/nginx/html
-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d
--link myphp-fpm:php nginx
-p 主机和容器端口互联,主机8080:80
-v 目录挂载
link nginx和php容器互联

如果我们想进一步的修改nginx配置。我们可以使用​​docker exec -it aa18aaaf3806 \base\sh​​ 进去容器里修改对应配置 ​​aa18aaaf3806​​是容器的id

解析域名

上面我已经通过conf文件,配置要绑定域名,接下来我们去服务商解析自己的域名都服务器ip地址即可

创建index.php

创建index.php,在docker/nginx/www创建即可

<?php
echo phpinfo();
?>

PHP

运行

创建完成之后,在浏览器输入自己的绑定的域名即可,记得输入你绑定的端口号


举报

相关推荐

0 条评论