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