• 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
Copyright © 2020-2023  润新知