最近碰到一个问题,csdn上这位老哥的问题和我一模一样,
百度了好久,也没有什么解决办法,通过咨询java学习群里的大佬,终于发现问题所在。
我的项目中使用了fastdfs做文件存储,搭建时使用了docker,使用了下面这条语句
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=XXX.XXX.XXX.XXX -e WEB_PORT=80 -v /usr/local/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
问题就出现在 WEB_PORT=80,fastdfs使用了nginx的80端口,所以导致了上面的问题。
如何解决呢?
最简单的办法就是容器删掉重做,换个端口,因为我的项目是个人学习做的,所以数据也不重要,所以我就干脆把fastdfs容器删掉重做,换个端口,如果图片数据比较重要就将fastdfs中的数据备份一下。
于是docker rm 容器id,docker rmi 镜像id,再执行
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=XXX.XXX.XXX.XXX -e WEB_PORT=80 -v /usr/local/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
这里我换成了WEB_PORT=81,
然后修改nginx.conf,添加这一段
server{
listen 81;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /group1/M00{
alias /usr/local/fastdfs/storage/data; #这里是自己的fastdfs路径
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
,重启nginx。
最后还要记得把程序里的上传路径端口改成81。