zoukankan      html  css  js  c++  java
  • Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记

    Spring Boot项目打包

    这里说一下部署的一些问题

    1.mysql驱动

    创建spring boot的时候,在界面选择添加了MySql的依赖,但是,实际项目测试的时候,发现驱动错误,所以,得把MySql驱动改为下面的驱动

    <!-- mysql驱动 -->
    <dependency>
    	<groupId>mysql</groupId>
    	<artifactId>mysql-connector-java</artifactId>
    	<version>5.1.6</version>
    </dependency>
    

    2.打包

    使用spring boot项目,通过maven中的lifecycle中的package进行快速打jar包,这个jar包内置了tomcat服务器,之后就可以直接运行此jar包。

    之后我们就可以得到一个jar包,把此jar包部署到服务器

    配置宝塔linux系统环境

    购买服务器

    我购买的是学生主机,比较实惠,只要是经过实名验证,24岁以下,就是自动默认的学生身份
    选择轻量级应用服务器和宝塔linux选项,可以快速安装并使用linux宝塔面板,很适合不懂linux命令的人群

    安装宝塔系统

    购买到服务器成功之后,如果是以前的话就会要求你设置管理员的密码,但实际操作的时候,并没有弹出窗口,需要手动去设置密码

    之后就可以通过此root账户和密码,使用xshell等工具远程连接到服务器

    当然,也可以不设置,不设置的话每次远程连接服务器都要进入阿里云的控制台才能操作

    切换到管理员账户(命令为sudo su root),输入下面的安装宝塔linux命令

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

    之后会弹出一个提示,输入y之后就开始安装了

    我们输入下面命令,来查看系统生成的linux宝塔系统的用户名和密码

    /etc/init.d/bt default
    

    登录宝塔linux系统

    在登录之前,还得在安全组的规则中添加8888端口,否则无法进入宝塔系统登录的界面

    宝塔的地址为ip地址:8888,如47.22.22.33:8888

    使用上面获得的宝塔系统的账户密码登录宝塔linux系统,之后进行环境的安装(数据库,php,tomcat)

    由于我们是jar包方式部署,所以需要服务器上配置好java环境,我们不想通过命令行类配置java环境,可以选择宝塔系统安装Tomcat环境

    安装Tomcat环境就会默认安装Java环境了,Tomcat环境的话,选择版本8,这样,默认的Java环境就是1.8,如果版本为7,则默认为Java环境为1.7

    远程连接服务器

    可以使用ssh本地客户端远程连接服务器,我这里使用的是xshell,连接很简单,只需要配置好主机(Ip地址)、用户名和密码即可

    之后输入linux中的管理员密码即可成功登陆

    服务器配置mysql数据库

    1.开启3306接口放行

    PS:可能还需要在服务器的防火墙添加规则

    2.配置mysql远程连接

    默认的mysql是不允许远程连接的,所以,我们得配置mysql远程连接

    使用Xshell等ssh客户端,远程连接到服务器上,之后输入命令mysql -u 账户名 -p,输入密码之后即可进入到mysql命令行,输入下面的命令

    %使用mysql默认的数据库
    use mysql;
    %设置远程连接
    update user set host ='%' where user = 'root' and host='localhost';
    %刷新
    flush privileges
    

    参考链接:

    Mysql初始化root密码和允许远程访问

    解决Navicat远程连接MySQL出现 10060 unknow error

    部署项目

    服务器部署spring boot项目有两种方式,war(传统tomcat方式),jar

    war的话,直接放在tomcat的webapp的目录即可

    本文使用是jar包部署,使用linux宝塔系统把之前的那个spring boot的jar包上传到服务器上

    由于是服务器,如果关闭了远程连接窗口,就会自动结束进程,所以,得要实现后台运行jar包

    使用命令来开启后台

    //远程连接关闭,也会关闭
    java -jar xx.jar
    //后台
    java -jar xx.jar &
    

    新建一个脚本start.sh,然后脚本需要给予权限(宝塔linux中文件选项可以快捷更改)

    java -jar xx.jar >nohup.out 2>&1& 
    

    上面的脚本,只需要修改为正确的jar包文件,之后执行脚本就会开启后台执行jar包,同时,会将日志输出到nohup.out文件中

    我们在本地建好脚本,之后上传到服务器上,修改权限为777

    下面的全勾选,权限就会变为777

    之后通过ssh客户端远程连接服务器,以管理员的身份来执行脚本

    ./start.sh
    

    之后项目访问的话就是通过ip地址+端口号+项目名,如44.22.22.22:13888/Demo/hello,这里,我是在spring boot配置文件中自定义了端口13888,默认的话则是8080

    如果有自定义端口,还要放行端口,在宝塔linux系统的安全选项可以修改,详情请参考上面的mysql端口的放行

    如果项目有所更改,再次部署的时候,先通过jps命令查看运行的jar包,之后关闭进程,重新上传新的jar包,并执行脚本即可

  • 相关阅读:
    两步验证杀手锏:Java 接入 Google 身份验证器实战
    涨姿势:Spring Boot 2.x 启动全过程源码分析
    Spring Cloud 升级最新 Finchley 版本,踩了所有的坑!
    Spring Boot 2.x 启动全过程源码分析(上)入口类剖析
    推荐:7 月份值得一看的 Java 技术干货!
    屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!
    Spring Boot 核心配置文件 bootstrap & application 详解。
    出场率比较高的一道多线程安全面试题
    凉凉了,Eureka 2.x 停止维护,Spring Cloud 何去何从?
    读写Excel
  • 原文地址:https://www.cnblogs.com/stars-one/p/11785415.html
Copyright © 2011-2022 走看看