nginx实现资源的反向代理
问题背景
宿主机有个目录存储静态资源,需要通过nginx代理出去,用户通过http://host:port/resource/xxxx/xxx/xxx进行访问
解决方案
1、修改宿主机中的/nginx/conf.d/default.conf文件(该文件是nginx挂载在宿主机上的)
server{ listen 80; # 监听80端口 server_name localhost; # 请求的域名(服务器地址) location /resource{ root /zgbj; index th.jpg; # 资源名称 } }
注:资源在nginx容器里的存放路径是/zgbj/resource
我们在访问资源输入url时只需要输入/resource
2、修改yml文件(添加资源挂载点,其实这个挂载就等同于同步)
- /opt/lxl:/zgbj/resource 注:/opt/resource 是资源在宿主机上的路径
/zgbj/resource 是资源在nginx容器上的路径(不用手动cp,会自动同步)
3、测试反向代理是否成功
// 删除之前的容器
docker-compose down
// 启动容器
docker-compose up -d
4、访问web页面
宿主机IP:8080/resource