Docker下部署PHP项目(实战部署:看板娘后端api)

Docker 部署PHP项目

前言

最近需要使用一个别的大佬写好的api,是用php写的,大佬那边提供的服务随时可能失效,所以得在自己的服务器部署(大佬提供的php项目源码),就不得不简单学习了一下docker 如何部署php项目。

部署方式

docker下 nginx+php:5.6-fpm

说明由于Nginx无法解析动态网页,所以动态请求一般需要php来完成.通过fastcgi, 也就是php-fpm(fastcgi的实现)来实现.

开始部署

拉取镜像

# 拉取nginx镜像
docker pull nginx
# 拉取php:5.6-fpm镜像
docker pull php:5.6-fpm

测试启动nginx

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

参数说明:

​ --name : 自定义容器名称

​ -p : 端口映射,由本地宿主机端口映射到容器内部端口(nginx默认监听80端口)

​ -d : 让容器在后台运行

访问域名+端口号,如果显示nginx的欢迎界面代表nginx就没问题了

启动php:5.6-fpm,挂载数据文件

docker run --name  myphp-fpm -v /www/php:/www  -d php:5.6-fpm

参数说明:

​ -v : 数据挂载。左侧为宿主机内你的文件目录,右侧为容器内目录(我这里就用www目录)

重新启动nginx

先停止删除刚刚测试用的nginx容器(因为它可能占用了你开放的为数不多的端口)

# 停止容器
docker stop nginx-test
# 移除容器
docker rm nginx-test

在宿主机下创建一份nginx配置文件,命名为default.conf

配置文件内容如下:

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:9000: 表示 php-fpm 服务的 URL。
  • /www/: 是 myphp-fpm 中 php 文件的存储路径,映射到本地的 /www/php 目录。

然后启动我们的nginx

docker run --name runoob-php-nginx -p 8080:80 -d   -v /www/php:/usr/share/nginx/html     -v /home/mount/nginx/default.conf:/etc/nginx/conf.d/default.conf    --link myphp-fpm:php     nginx

参数说明:

  • /www/php: 是本地 html 文件的存储目录,/usr/share/nginx/html是容器内 html 文件的存储目录。
  • /home/mount/nginx/default.conf: 是本地 nginx 配置文件,/etc/nginx/conf.d/default.conf 是容器内 nginx 配置文件。
  • --link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。

访问测试

看到我们宿主机目录下:

image-20201209094634737

已经放好了一个index.html

访问xxxx:8080

image-20201209094743111

访问大神写的php项目,也就是这个live2d_api-master(魔改看板娘的后端api)

image-20201209094921176
文章参考Srodong的文章:Docker部署php环境运行web项目

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值