Docker部署Nginx,配置静态资源访问404

最近,遇见了这个问题,明明我的/data/gis/目录是存在的,但是查看Nginx的错误日志,总是报错:“No such file or directory”。

这是配置:

server {
    listen 10083;
    server_name  localhost;

    location /gis-tile-tianditu/ {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

            if ($request_method = 'OPTIONS') {
                   return 204;
             }


	        alias /data/gis/;
            autoindex on;            # 开启目录浏览功能;
            autoindex_exact_size off;  #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
            autoindex_localtime on;  #开启以服务器本地时区显示文件修改日期!

   }

}

排查过了权限问题,检查了N遍配置,排查了是否开端口问题,都还是报404;

最后灵光一闪:是不是因为Docker部署,没把目录映射进去?

我太几把聪明了,Docker部署既然要把主机的端口和容器的端口映射;那么访问主机的目录,那么也要把主机的目录映射到相应的目录撒;

sudo docker run -d --name nginx -p 8080:80 -p 4999:4999 -p 10081:10081 -p 10083:10083 -v /data/gis:/data/gis -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /usr/local/nginx/conf/conf.d/:/etc/nginx/conf.d  -v /usr/local/nginx/log:/var/log/nginx  -v /usr/local/nginx/html:/usr/share/nginx/html  nginx:1.24.0

最后,完美解决!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值