springboot打包和部署(阿里云服务器)记录

参考文章:

SpringBoot项目部署到阿里云服务器全流程(简直详细到啰嗦):超级详细,每一步都有图。

附资源安装:jdk-8u221-linux-x64.tar.gz / jdk-8u141-linux-x64.tar.gz:百度网盘jdk下载

mysql导入导出sql文件

阿里云配置Mysql数据库远程链接:远程访问数据库

如何在阿里云服务器上安装Redis:配置很详细,配置的行数都标了

Redis Desktop Manager的下载及安装:百度网盘Redis Desktop Manager下载

liunx 上无法kill 掉 redis服务

记一次telnet自定义端口不通(阿里云平台):iptables

项目技术栈:springboot+shiro-redis

数据库:mysql+Navicat

远程连接工具:Finalshell下载地址

超级实用的命令

  1. 查看端口使用情况

    netstat -anp | grep 8800   #netstat -anp | grep <端口号>
    
  2. 查看占用端口的PID

    sudo lsof -i:8800  #sudo lsof -i:<端口号>
    
  3. 杀死占用端口的PID

    sudo kill -9 26191  #sudo kill -9 <PID>
    
  4. 停止redis

    /etc/init.d/redis-server stop
    

安装jdk

  1. 本地环境下载 jdk-8u221-linux-x64.tar.gz

  2. 上传服务器

    在/usr下新建文件夹java,Finnalshell上直接拖文件到文件夹内。

  3. 解压

    cd /usr/java
    
    tar -zxvf jdk-8u221-linux-x64.tar.gz
    
  4. 设置环境变量

    cd /etc
    

    在profile文件内添加

    export JAVA_HOME=/usr/java/jdk1.8.0_221
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
    

    立即执行

    source /etc/profile
    
  5. 验证,显示java版本安装就成功了

    java -version
    

安装mysql

之前安装过了,7.安装MySql8.0数据库

  1. Navicat导出数据库结构和数据,导入mysql。

    create database abc;#创建数据库
    use abc;#选择数据库
    set names utf8;#设置数据库编码
    source /home/abc/abc.sql;#导入数据(注意sql文件的路径)
    
  2. 配置远程访问,阿里云安全组设置3306端口入方向。

    use mysql;
    update user set host='%' where user='root' and host='localhost';#host设置为 % 表示任何IP进行访问该数据库 
    flush privileges;#刷新权限表,让改动生效
    

打包项目

  1. 配置application.yaml

    设置后端的端口,阿里云服务器需要将设置的端口加入安全组。

    server:
      port: 端口
    

    修改数据库连接地址为服务器的地址。

    项目中使用了shiro-redis-spring-boot-starter,需要配置shiro-redis。阿里云安全组设置6379的出方向和入方向。

    shiro-redis:
       enabled: true
       redis-manager:
       host: 服务器地址:6379
       password: 密码
    
  2. 在项目pom.xml文件中添加

        </build>
        <!-- 打包成jar包 -->
        <packaging>jar</packaging>
    </project>
    
  3. 打包

    点击右侧的Maven,在项目的Lifecycle有个package,双击进行打包。

    打包完成后,会在target下生成jar包。

运行jar包

复制jar到桌面,打开Finalshell,上传到根目录。

根目录下运行jar包

java -jar ***.jar  //***为你的jar包名

配置不间断运行

在Finalshell关闭以后,项目就停止了。可以配置让项目不间断运行。

创建并编写文件 start.sh,向其中添加字段 : java -jar ***.jar 。按ESC + :wq + 回车键保存退出。

给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)

chmod 777 start.sh  #赋予管理员权限
nohup  ./start.sh &  #不间断运行文件内的指令

安装Redis

  1. 在/usr下新建文件夹redis

  2. 下载redis

    cd /usr/local/redis
    wget http://download.redis.io/releases/redis-3.2.10.tar.gz
    
  3. 解压

    tar -xzvf redis-3.2.10.tar.gz
    
  4. 安装

     cd ./redis-3.2.10
     make
    
  5. 配置,看参考文档如何在阿里云服务器上安装Redis

    vim ./redis.conf
    

    ①注释172.0.0.1或者修改成0.0.0.1

    ②将daemonize no 改成 daemonize yes,一直在后台运行

    ③设置密码,将“#requirepass foobared” 取掉注释改成 requirepass 密码

    按ESC + :wq + 回车键保存退出。

  6. 启动

    cd /usr/redis/redis-3.2.10/src
    ./redis-server  ../redis.conf
    
  7. 查看是否启动,注意看./redis-server的地址是不是172.0.0.1,配置完应该不是172.0.0.1。

    ps aux | grep redis
    
  8. 阿里云配置安全组,6379端口的入方向和出方向。

  9. 使用Redis Desktop Manager测试远程连接

遇到的问题

  • 前端请求时报错:java.net.ConnectException: Connection refused
    可能是没有安装redis
  • 远程连接redis报错:Can't connect to redis-server。
    在检查了配置和安全组规则发现仍然无法连接。
    在服务器telnet 127.0.0.1 6379发现能够通,本地进行telnet 服务器地址 6379时不通。按照记一次telnet自定义端口不通(阿里云平台)尝试,清空防火墙iptables 列表后,通了。远程连接redis成功了。
  • 前端请求时报错:NOAUTH Authentication required.
    可能是配置redis错了,我使用的是shiro-redis-spring-boot-starter,在项目yaml配置时配shiro-redis。
原文地址:https://www.cnblogs.com/wattmelon/p/14485007.html