小编Thi*_*ico的帖子

使用 docker + nginx + php-fpm 提供静态内容

我正在尝试使用 docker 配置一个 php webapp。这个想法是php-fpm在一个独立的容器中运行应用程序,并有另一个运行 nginx 的容器。此设置的想法是使用相同的 nginx 容器将请求代理到已经在同一台机器上工作的其他 web 应用程序。问题是我无法nginx正确处理静态文件(js、css 等),因为对这些文件的请求一直转到fpm.

这是文件系统的样子:

/
??? Makefile
??? config
?   ??? webapp.config
??? webapp
    ??? web
        ??? index.php
        ??? static.js
Run Code Online (Sandbox Code Playgroud)

我正在使用Makefile看起来像这样的(对此不感兴趣docker-compose)运行整个事情:

PWD:=$(shell pwd)
CONFIG:='/config'
WEBAPP:='/webapp'

run: | run-network run-webapp run-nginx

run-network:
    docker network create internal-net

run-webapp:
    docker run --rm \
    --name=webapp \
    --net=internal-net \
    --volume=$(PWD)$(WEBAPP):/var/www/webapp:ro \
    -p 9000:9000 \
    php:5.6.22-fpm-alpine

run-nginx:
    docker run --rm \
    --name=nginx \
    --net=internal-net \
    --volume=$(PWD)$(CONFIG)/webapp.conf:/etc/nginx/conf.d/webapp.domain.com.conf:ro \ …
Run Code Online (Sandbox Code Playgroud)

nginx static-content php-fpm docker

10
推荐指数
1
解决办法
5642
查看次数

标签 统计

docker ×1

nginx ×1

php-fpm ×1

static-content ×1