docker compose 搭建NGINX和PHP,dockernginx


直接上docker-compose.yml

version: '3.3'
services:
  nginx:
    build:
      context: ./nginx
      dockerfile: Dockerfile
    volumes:
        - ./nginx/nginx.conf:/etc/nginx/nginx.conf
        - ./nginx/conf.d:/etc/nginx/conf.d
        - ./nginx/html:/usr/share/nginx/html
        - ./nginx/log:/var/log/nginx
    restart: on-failure
    depends_on:
      - php-fpm
    ports:
      - '80:80'
    links:
      - php-fpm

  php-fpm:
    build:
      context: ./php
      dockerfile: Dockerfile
    volumes:
      - ./nginx/html:/var/www/html
    restart: on-failure
    ports:
      - '9000:9000'

上面是基础版,但是已经可以运行了,剩下的就靠自己了。

注意点
上面若有参数不明白,建议去官网学习一下,地址

把NGINX的配置文件、日志、项目运行地址,指向本地目录,
建议配合Git管理使用,很爽。

配合PHP的时候,需要注意的是,容器互联
links 连接其他容器名,

在nginx.conf的server文件里,需要注意:

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        fastcgi_pass   php-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
        include        fastcgi_params;
    }

上面两处注意点,
1,fastcgi_pass php-fpm:9000 ,此处直接写容器名,不建议写ip,
每次容器重启,ip可能会变,但容器名不会变。
2,fastcgi_param *** /var/www/html 此处这个地址,是PHP容器中的默认访问地址!一般是这个地址。。不确定的话可以去PHP容器中查看配置项就知道了。

相关内容

    暂无相关文章