1. 问题现象
如上图所示 静态文件404
2. 问题排查&解决
首先考虑文件本身的引用路径是否匹配nginx的配置
引入路径
<link href="/public/css/bootstrap.css" rel="stylesheet"/>
nginx 配置 (root 配置代替你的域名)
#js模块
location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
root /www/workspace/static;
expires max;
log_not_found off;
}
经过测试 发现nginx配置正确, nginx 配置文件不是问题所在.
考虑nginx容器是否能够读取静态文件
services:
cgi:
container_name: php7.2
image: php:7.2
restart: always
expose:
- "9000"
ports:
- "9000:9000"
volumes:
- ../myspace:/www/workspace/
depends_on:
- mysql
- redis
links:
- mysql:mysql
- redis:redis
nginx:
container_name: nginx_v1
image: openresty:v1
restart: always
volumes:
- ./config/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
ports:
- 80:80
- 443:443
发现 nginx 容器下没有挂载 JS文件所在的目录
在nginx volumes 下添加只读共享配置
- ../myspace:/www/workspace/:ro
重新compose 安装 运行
bingo 问题解决!!!!