springboot+vue+mybatis plus做一个简单的设备管理页面(具备增、删、改、查、导入功能),数据库用达梦数据库,中途遇到的问题

技术栈:Spring Boot、MyBatis Plus、Spring Security、Vue Element Admin、DM数据库、redis...

后端部分:

数据库和MyBatis Plus:

  • 当使用达梦数据库时,确保在实体类上使用 @TableName 注解时将 value 值设置为 "库名.'表名'"
  • 注意达梦数据库的大小写敏感特性,在书写 SQL 语句时要严格区分单引号和双引号的使用。
  • 使用 MyBatis Plus 分页工具时,避免在 mapper.xml 中定义 selectPage 方法,以防被自定义方法覆盖。

Spring Boot 应用: 

  • 避免将端口设置为 6666-6669,因为这些端口可能存在安全风险,与 IRC 协议有关,虽然在 postman 上测试可以正常的访问接口,但是在使用浏览器时前后端无法联调。
  • 在执行 mvn clean package 指令打包成 JAR 包前,确保 DAO 层接口中多参数的方法使用 @Param 注解或将多个参数封装成 POJO 类,因为在打完包后 mapper.xml 无法自动识别这些参数会遇到遇到显示 Parameter not found 的报错。

Jar包部署和启动脚本:

  • 打包 JAR 包:执行 mvn clean package 指令。
  • 服务器配置: 在服务器上创建一个 config 文件夹,用于存放例如 YAML 格式的配置文件。您还可以创建一个 log 文件夹,用于存放项目的日志文件。
  • 启动脚本: 创建一个 start.sh 脚本,用于启动项目。该脚本内容如下所示:
    #!/bin/bash
    nohup java -Dfile.encoding=utf-8 -Xbootclasspath/a:./config/ -jar /home/boss/demo/ct-test/dmDemo.jar --spring.config.location=config/application.yml 2>&1 &
    sleep 2
    tail -100f nohup.out
    

    该脚本使用 nohup 命令在后台运行 Spring Boot 项目,并将输出重定向到 nohup.out 文件中。您可以根据实际情况修改 JAR 包的路径和配置文件的路径

  • 停止脚本: 创建一个 stop.sh 脚本,用于停止项目。该脚本内容如下所示:
    #!/bin/bash
    # 查找 dmDemo.jar 的进程 ID (PID)
    APP_PID=$(ps -ef | grep 'dmDemo.jar' | grep -v grep | awk '{print $2}')
    echo "dmDemo.jar 进程的 PID 为:$APP_PID"
    # 终止 dmDemo.jar 进程
    if [ -n "$APP_PID" ]; then
        echo "正在关闭 dmDemo.jar 进程..."
        kill -9 $APP_PID
        echo "dmDemo.jar 进程已关闭。"
    else
        echo "未找到 dmDemo.jar 进程。"
    fi
    

    该脚本通过查找 JAR 包的进程 ID (PID) 并终止该进程来停止项目。确保脚本中的 JAR 包名称与实际部署的 JAR 包名称一致。

  • 授予这些脚本执行权限或直接使用bash来执行这些脚本。

 Tips:注意使用安全的连接服务器工具,如 WinSCP 和 SecureCRT,而不是 Xshell 和 Xftp。

前端部分:

Nginx 部署 vue element admin 项目:

  • 为了避免出现 403 错误,建议使用非 root 用户来安装 Nginx,注意运行nginx的用户,假如是 root 运行 nginx ,则在 nginx.conf 中就要添加 user  root 。
  • vue.config.js 中设置 publicPath,并在 nginx.conf 中配置 root,对 publicPath root 的设置要特别注意,它们之间是相关的。以确保正确部署 vue element admin项目,如果配置错误可能出现空白界面。
  • 确保前端项目的位置正确配置。
  • 将localhost全部修改为服务器ip地址。
  • 在修改好前端项目配置后可通过 npm run build:prod 指令构建dist文件,可以通过 http-server dist 在本地运行dist文件。

本项目 vue.config.js 部分代码:

module.exports = {
  publicPath: './',
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: false,
  indexPath:'index.html',
  productionSourceMap: false,
  devServer: {
    port: port,
    open: true,
    disableHostCheck: true,
    overlay: {
      warnings: false,
      errors: true
    },
    //代理配置
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
      target: "http://localhost:9999/api",
      changeOrigin: true,
      pathRewrite: {
      '^/api': ''
      }
    }
  }
},

服务器 nginx.conf 部分代码:

user  root;
worker_processes  auto;
server {
    listen       9991;
	server_name  localhost;
	add_header Set-Cookie "/; Path=/; HttpOnly;SameSite=Lax;";
	client_max_body_size 4m;
	root   /home/boss/demo/ct-test/html/deviceManage/dist/;
	error_page   500 502 503 504  /50x.html;
		location = /50x.html {
		root   /home/bossapp6/lwj/nginx-1.20.2/html/;
	}
}

前端项目位置:

最后可以通过输入服务器ip地址:9991访问网页。

  • 32
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值