Docker安装的Nginx无法访问静态资源|nginx 容器静态资源无法访问

最近在docker部署Thinkphp管理后台,部署完成后发现根目录下所有静态资源无法访问。翻了很多php 配置和nginx 配置,后来发现是因为使用Docker 容器问题。

问题描述

Docker启动nginx容器中部署项目后无法访问根目录下文件
Docker安装的Nginx无法访问静态资源|nginx 容器静态资源无法访问_第1张图片

原因分析:

这里直接跳到了控制层,因此很大可能是因为对应的路径不存在静态资源,于是去查看配置文件映射的静态资源路径。

因为是使用的docker安装的nginx,因此在挂载的卷中所写的root资源路径应该是对应的nginx容器中的linux下的路径,所以当然找不到对应的文件。

所以正确的路径应该是找linux容器中存放静态资源的路径。

因为nginx容器中存放静态资源的文件是位于/usr/share/nginx/html下,所以此时应该将静态资源对应的配置文件中的路径应该写容器中linux中的路径/usr/share/nginx/html,此时可以正确的访问静态资源路径。

	location /static/
	{
		root /usr/share/nginx/html/tpadmin/public/;
		//nginx 容器中的对应的位置是 /usr/share/nginx/html/tpadmin/public/static
	}
	location /upload/
	{
		root /usr/share/nginx/html/tpadmin/public/;
		//nginx 容器中的对应的位置是 /usr/share/nginx/html/tpadmin/public/upload
	}

————————————————
版权声明:本文为CSDN博主「猿男孩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41555271/article/details/125487652

你可能感兴趣的:(php,thinkphp,docker,nginx,php)