&nbsp &nbsp 近日自己结合 vue + element ui + Springboot 做了个前后端分离的项目。因为是第一次部署项目,便在此记录下自己的心得。

方式一:前后端分开部署

  1. 拥有自己的服务器,这个是前提。下面我以 CentOS 为例
  2. 安装宝塔:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

  • 注意:安装完成后要记住登录宝塔的域名和账号密码
  1. 安装推荐的:nginx 服务器,tomcat8(自带 jdk),mysql8.0 必需
  2. 添加网站,域名就是自己的 ip
  3. 微服务前后端分离如何交互 微服务前后端分离部署_微服务前后端分离如何交互

  4. 打包 vue 工程

npm run build(报错就换源,用 cnpm)的 vue 里的 dist 文件,
注意:将里面请求地址的 local host 改成服务器 ip

  1. 在添加网站的根目录上次生成的 dist 下的文件
  2. 微服务前后端分离如何交互 微服务前后端分离部署_微服务前后端分离如何交互_02

  3. 在宝塔中创建数据库名字要与项目中配置的数据源对应,比如我的就是 mallvue
  4. 微服务前后端分离如何交互 微服务前后端分离部署_微服务前后端分离如何交互_03

  5. 导入数据库脚本文件,权限最好仅本地服务器访问
  6. 打包 Springboot 项目
  • 用 maven 的 package 打包,
  • 注意:此时需要将连接数据库源的 url 中 localhost 换成服务器的 ip
  • 数据库名和密码换成 宝塔建立的数据库 mallvue 填入的信息
  1. 在 target 里面可以找到打包的 jar 包
  2. 使用 xhsell6 连接 Linux 服务器,确保安装了 Xftp6 传输文件
  3. 在 root 根目录新建文件夹:mkdir mall_vue,并将打包的 jar 包传输到此文件夹
  4. 在 mall_vue 里输入命令:nohup java -jar xxxxxx.jar &
  5. 微服务前后端分离如何交互 微服务前后端分离部署_java_04

  6. 至此访问自己 ip 就可以访问项目:
  7. 微服务前后端分离如何交互 微服务前后端分离部署_jar_05

方式二:一起部署

  1. 将 vue 工程生成的 dist 文件下的内容放在 springboot 项目的resources 的 static文件夹下
  2. pom 文件中引入
<dependency>
   <groupId>org.springframework.security</groupId>
   <artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.security</groupId>
   <artifactId>spring-security-config</artifactId>
</dependency>
/**
 * @author Blue
 * @date 2020/3/18
 **/
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/login", "/img/**","/fonts/**", "/css/**", "/index.html", "/favicon.ico");
    }
}
  1. 然后再 package 项目
  2. 再传到服务器对应文件夹,输入 nohup Java -jar xxxxxx.jar &
  3. 访问ip:端口号/index.html
  4. 控制台中有消息,比如Using generated security password: 76dade1c-f190-44f8-915c-7a6b6917fb9a【每次随机生成的密码】
  5. 将用户名 user 和 密码 76dade1c-f190-44f8-915c-7a6b6917fb9a 填入上面对话框中,点击按钮Sign in

在 linux 系统下运行 jar 包的命令如下

  1. java -jar xxxxx.jar // 当前 ssh 窗口被锁定,可按 CTRL + C 打断程序运行,或直接关闭窗口,程序退出
  2. java -jar xxxxx.jar & //当前 ssh 窗口不被锁定,但是当窗口关闭时,程序中止运行。
  3. nohup java -jar xxxxxx.jar & //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
  4. nohup java -jar xxxxxx.jar >aa.log //指定输出日志文件,意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

如果想要关闭java进程,输入命令行

  1. 列出后台进程

ps -ef | grep java

  1. 杀死进程

kill -9 xxxx
(xxxx为上条命令列出的后台进程的pid, -9 表示无条件终止)