部署前后端分离项目到Linux服务器

&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. 打包 vue 工程

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

  4. 在添加网站的根目录上次生成的 dist 下的文件

  5. 在宝塔中创建数据库名字要与项目中配置的数据源对应,比如我的就是 mallvue

  6. 导入数据库脚本文件,权限最好仅本地服务器访问

  7. 打包 Springboot 项目

    • 用 maven 的 package 打包,
    • 注意:此时需要将连接数据库源的 url 中 localhost 换成服务器的 ip
    • 数据库名和密码换成 宝塔建立的数据库 mallvue 填入的信息
  8. 在 target 里面可以找到打包的 jar 包

  9. 使用 xhsell6 连接 Linux 服务器,确保安装了 Xftp6 传输文件

  10. 在 root 根目录新建文件夹:mkdir mall_vue,并将打包的 jar 包传输到此文件夹

  11. 在 mall_vue 里输入命令:nohup java -jar xxxxxx.jar &

  12. 至此访问自己 ip 就可以访问项目:

方式二:一起部署

  1. 将 vue 工程生成的 dist 文件下的内容放在 springboot 项目的resources 的 static文件夹下
  2. pom 文件中引入
1
2
3
4
5
6
7
8
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
/**
* @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

  2. 杀死进程

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

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  1. © 2020 Liu Yang    湘ICP备20003709号

请我喝杯咖啡吧~

支付宝
微信