Code前端首页关于Code前端联系我们

Docker Nginx PHP-FPM 独立多站点部署方法

terry 2年前 (2023-09-28) 阅读数 71 #未命名

docker Nginx PHP-FPM 独立多站点部署方法

网上尝试了不同的方法,可以在一台机器上处理一个 NGINX 容器和一个 PHP-FPM 容器无法部署多个站点。

经过反思和总结,目前已经成功实现了两种方法:

  • 一个Nginx,几个PHP-FPM
  • 一个Nginx,一个PHP-FPM

一个Nginx,几个PHP-FPM

docker- compose.yml

version: '2'
 
services:
  nginx-1.15.1:
    image: nginx:laster
    ports:
      - "80:80"
    volumes:
      - ./htdocs:/usr/local/nginx/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./etc/nginx/conf.d:/etc/nginx/conf.d
      - ./log/nginx:/var/log/nginx
    networks:
      - leoedu-network
  php-fpm-a:
    image: php-fpm:laster
    volumes:
      - ./htdocs/a.com:/var/www/html
    networks:
      - leoedu-network
  php-fpm-b:
    image: php-fpm:laster
    volumes:
      - ./htdocs/b.com:/var/www/html
    networks:
      - leoedu-network
 
networks:
  leoedu-network:
    driver: bridge

nginx 配置文件:

server {
  listen    80;
  charset utf-8;
  server_name a.com;
 
  root /usr/local/nginx/html/a.com;
  index index.html index.htm index.php;
 
  error_log /var/log/nginx/a.com-error.log;
  access_log /var/log/nginx/a.com-access.log;
 
 
  location ~ \.php$ {
    fastcgi_pass  php-fpm-a:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include    fastcgi_params;
  }
}

一个 Nginx,一个 PHP-FPM

docker-compose.yml

version: '2'
 
services:
  nginx-1.15.1:
    image: nginx:laster
    ports:
      - "80:80"
    volumes:
      - ./htdocs:/usr/local/nginx/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./etc/nginx/conf.d:/etc/nginx/conf.d
      - ./log/nginx:/var/log/nginx
    networks:
      - leoedu-network
  php-fpm-7.2.5:
    image: php-fpm:laster
    volumes:
      - ./htdocs:/var/www/html
    networks:
      - leoedu-network
networks:
  leoedu-network:
    driver: bridge

NGINX 配置要点是:

astcgi_param SCRIPT_FILENAME /var/www/html/nick.com/$fastcgi_script_name;

具体原因稍后补上我有时间。文章仅供记录。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门