Nginx + PHP + Docker:如何使用本地域名获取PHP页面

我将使用docker和nginx设置一个非常简单的php页面。

源文件可以在这里找到:

文件夹配方02中的https://github.com/ikknd/docker-study

1.创建项目文件夹设置:

/var/www/docker-study.loc/recipe-02
	-> /docker
	-> /php

在“ php”文件夹中,我将创建执行phpinfo()的index.php文件。

2.在“ docker”文件夹中创建nginx config site.conf:

server {
    server_name myapp.loc;

    root /var/www/myapp;
    index index.php index.html index.htm;

    access_log /var/log/nginx/back-access.log;
    error_log /var/log/nginx/back- error .log;

    location / {
        try_files $uri $uri / /index.php? $query_string ;
    }

    # PHP-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri = 404 ;
        fastcgi_split_path_info  ^(.+\.php)(/.+)$ ;
        fastcgi_pass php: 9000 ;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param REQUEST_URI $request_uri ;
        fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name ;
        fastcgi_param PATH_INFO $fastcgi_path_info ;
    }
}

fastcgi_pass php:9000; -这就是告诉nginx如何连接到php容器的原因

3.在主机上编辑/ etc / hosts文件,并添加一条记录:

127.0.0.1       myapp.loc

4.在“ docker”文件夹中创建docker-compose.yml文件:

version: "3.7"

services:

  web:
    image: nginx:1.17
    ports:
      - 80 :80
    volumes:
      - /var/www/docker-study.loc/recipe-02/php:/var/www/myapp
      - /var/www/docker-study.loc/recipe-02/docker/site.conf:/etc/nginx/conf.d/site.conf
    depends_on:
      - php

  php:
    image: php:7.2-fpm
    volumes:
      - /var/www/docker-study.loc/recipe-02/php:/var/www/myapp
      - /var/www/docker-study.loc/recipe-02/docker/php.ini:/usr/local/etc/php/php.ini

我在这里做几件事:

  • 我使用自己的php.ini文件,将其复制到php容器中,因此,如果需要更改某些设置,只需在php.ini中进行更改并重新启动容器
  • 如果我在index.php文件中的php代码中进行了更改,则无需重新启动容器,更改将在重新加载浏览器页面后立即应用。
  • “ depends_on”-阻止容器在它所依赖的其他容器之前启动

5.转到/var/www/docker-study.loc/recipe-02/docker/并执行:

docker-compose up -d

如果现在在浏览器中尝试myapp.loc/ ,我将看到php info结果。

From: https://hackernoon.com/nginx-php-docker-how-to-get-php-page-up-with-local-domain-name-ho3x33f6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值