参考文献

Docker 安装 PHP
Docker 安装 Nginx
bitnami/php-fpm

安装docker

curl sh.rainbond.com/install_docker | bash

安装docker-compose

curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker官方仓库

docker官方仓库

启动phpnginx

编辑ygys.yml,添加以下内容

version: "3.8"

services:
  phpfpm:
    image: bitnami/php-fpm:7.3-prod
    restart: always
    volumes:
        - /opt/ygys/www/html:/app
  nginx:
    image: bitnami/nginx:1.23
    restart: always
    depends_on:
      - phpfpm
    ports:
      - "80:80"
      - "443:443"
    volumes:
        - /opt/ygys/www/html:/app:ro
        - /opt/ygys/conf.d/ygys.conf:/opt/bitnami/nginx/conf/server_blocks/ygys.conf:ro

nginx的配置ygys.conf文件内容

server {
  listen 80;
  server_name ygys;

  root /app;

  index index.php index.html index.htm default.php default.htm default.html;

  location / {
    try_files $uri $uri/index.php;
    index    index.html index.php;
    if ( -f $request_filename) {
        break;
    }
    if ( !-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=$1  last;   break;
    }
  }

  location ~ [^/]\.php(/|$) {
    # fastcgi_pass [PHP_FPM_LINK_NAME]:9000;
    fastcgi_pass phpfpm:9000;
    include fastcgi.conf;
    set $real_script_name $fastcgi_script_name;
    if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
        set $real_script_name $1;
        set $path_info $2;
    }
    fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
    fastcgi_param SCRIPT_NAME $real_script_name;
    fastcgi_param PATH_INFO $path_info;
  }
}

启动

docker-compose -f `ygys.yml -p ygys up -d

其他说明(webdevops/php-nginx使用,此处仅做笔记)

php安装扩展插件

## 进入容器
docker exec -it ygys-php-1 bash
## 安装扩展 以gmp为例
apt install libgmp-dev
docker-php-ext-install gmp
cp docker-php-ext-zip.ini docker-php-ext-gmp.ini
vim docker-php-ext-gmp.ini
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐