前言
在根目录下创建了data目录,data目录下分别有一个www和img目录(www存放静态html,img存放图片),然后在Nginx配置文件中添加动静分离的配置。启动Nignx后访问192.168.244.128:80/img/一直是404,检查了配置文件确定没有错误
解决方法
这是因为在docker中启动的Nignx容器,Nginx在访问资源时是访问容器内部中路径的文件,而不是Linux系统中路径的文件。而且docker也没有提供对运行的容器添加挂载文件的功能,所有只能在通过docker exec -it Nginx容器名 bash命令进入Nignx容器内部创建文件,或者
重新创建Nignx容器,在创建的时候将Linux中的data目录挂载到docker中的data目录。启动Nignx容器,此时便可以访问到静态资源了。
1 | docker run -d -p 80:80 --name nginx |