为什么写
公司官网后台管理部分功能开发完后,开始部署测试环境。正式环境环境已部署,测试环境图片预览有些问题,考虑到正式环境应该是通过nginx做图片路径映射(这里不讨论是否合理),这里分享下自己遇到的问题及配置方式。
具体实现
通过nginx做代理:
-
代理官网前端项目(前端是nuxt项目)
server { listen 8081; server_name _; location / { alias /data/guanwang-web/static/; proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } location /static/ { alias /data/guanwang-web/static/; } } -
代理后端服务器目录(主要是图片预览)
- springboot后台管理系统地址(权限,官网展示数据配置):http://192.168.168.98:8087/website-admin
- springboot接口地址(提供接口给前端):http://192.168.168.98:8089/website-api
- springboot项目端口是8087,http://192.168.168.98:8087/website-admin/upload 未做静态资源配置,显示404,配置nginx如下:
server { listen 8087; server_name _; location /website-admin/upload { alias /data/guanwang-admin/upload/; } }nginx -s reload- nginx配置监听8087端口,查看/var/log/nginx中错误日志(springboot项目启动已占用8087端口):
2022/07/18 13:43:10 [emerg] 52262#52262: bind() to 0.0.0.0:8087 failed (98: Address already in use)- 因为8087端口java项目已被占用,可以监听8082端口,通过8082端口实现图片预览
server { listen 8082; server_name _; location /website-admin { proxy_pass http://127.0.0.1:8087/website-admin; } location /website-admin/upload { alias /data/guanwang-admin/upload/; } }通过以上配置可知:
参考
写完这一篇后找到了一些好的文章供参考,主要是SpringBoot的静态资源的配置和访问。
设置并访问静态资源目录
静态文件配置