最详细的部署前后端分离项目到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 文件中引入
<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

  2. 杀死进程

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

更多内容,请点击下方🍎:

My Blog: http://coderblue.cn/
Github:https://github.com/onecoderly
My Project:http://coderblue.cn/project/

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值