安装部署

环境要求:

  • JDK > 1.8
  • node 16.20.2 左右
  • npm 8.19.4 左右
  • maven 3.8.8 左右
  • redis 3.0 以上
  • mysql >= 5.7 (推荐8.0以上)

第一步

第二步(后端)

  • 1、创建数据库,执行sql文件(mysql建议8.0以上) 图片
  • 2、修改yml配置,主要修改mysql和redis。 图片图片

第三步(前端)

  • 1、建议使用16.20.2的node版本,本项目是在此版本下开发。
  • 2、镜像源建议切换到https://registry.npmmirror.com/,淘宝镜像源可能会有缺失。
  • 3、企业版使用高德地图请修改VUE_APP_AMAP_KEYVUE_APP_AMAP_SECURITY_JS_CODE两个配置。

第四步(线上注意事项)

  • 1、线上部署代理websocket的时候,VUE_APP_WS_BASE_URL一定要写服务器公网地址,写localhost只会访问本机,如果需要代理,请记得单独配置ws的代理,跟http代理有所不同。参考如下:
# WebSocket 代理
location /ws {
    # WebSocket 后端服务地址
    proxy_pass http://ip:port/ws;
    
    # WebSocket 必需的头信息
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    
    # 其他标准代理头信息
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    # WebSocket 超时设置(建议设置较长时间)
    proxy_connect_timeout 60s;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
    
    # 关闭缓存(WebSocket 不需要缓存)
    proxy_no_cache 1;
    proxy_cache_bypass 1;
}
  • 2、头像文件代理要加额外配置,要把此配置放到最前面,否则优先级不够,如下:
  location ^~ /prod-api/profile/ {
  proxy_pass http://ip:port/profile/;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  # 代理超时设置
  proxy_connect_timeout 60s;
  proxy_send_timeout 60s;
  proxy_read_timeout 60s;
  # 不缓存动态内容(或根据需要配置)
  proxy_no_cache 1;
  proxy_cache_bypass 1;
  }
  • 3、添加以下配置来处理 Vue Router 的 History 模式
    location / {
        try_files $uri $uri/ /index.html; 
    }
  • 4、最后添加反向代理
location /prod-api/ {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://ip:port/;
}