• Linux服务器部署JavaWeb后端项目


    适用于:MVVM前后台分离开发、部署、域名配置

    前端:Vue
    后端:Spring Boot

    这篇文章只讲后端部署前端部署戳这里

    Step1:服务器上搭建后端所需环境

    1、更新服务器软件包

    # centOS
    sudo yum update
    # Ubuntu
    sudo apt-get update
    
    • 1
    • 2
    • 3
    • 4

    2、安装JDK8

    # centOS
    sudo yum -y install java-1.8.0-openjdk*
    # Ubuntu
    sudo apt-get install openjdk-8-jdk
    
    • 1
    • 2
    • 3
    • 4

    验证安装

    java -version
    
    openjdk version "1.8.0_382"
    OpenJDK Runtime Environment (build 1.8.0_382-8u382-ga-1~22.04.1-b05)
    OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3、安装MySQL

    # centOS
    wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    yum -y install mysql-community-server --nogpgcheck
    
    # Ubuntu
    sudo apt-get install mysql-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    验证安装

    # 注意大写 V
    mysql -V
    
    # centOS
    mysql  Ver 8.0.34 for Linux on x86_64 (MySQL Community Server - GPL)
    # UbunTu
    mysql  Ver 8.0.34-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4、登录MySQL

    先去查看默认用户名密码,用这个密码去登录

    # 查看
    sudo vi /etc/mysql/debian.cnf
    
    # 登录
    mysql -u debian-sys-maint -p
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    密码为上面查到的密码

    登录后,修改root密码

    mysql> use mysql
    # 查看用户的权限,是否是mysql_native_password,如果不是,则将auth_sock改为mysql_native_password
    mysql> select Host,user,authentication_string,plugin from user;
    
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your password';
    
    • 1
    • 2
    • 3
    • 4
    • 5

    修改后exit退出,用root账号重新登录

    mysql -u root -p
    
    • 1

    可以看到root权限密码已经修改
    在这里插入图片描述

    5、修改MySQL配置文件

    sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
    • 1

    找到
    在这里插入图片描述
    改为:

    bind-address            = 0.0.0.0
    mysqlx-bind-address     = 0.0.0.0
    
    • 1
    • 2

    6、重启MySQL

    service mysql restart
    
    • 1

    查看端口状态

    netstat -an|grep 3306
    
    • 1

    在这里插入图片描述
    发现3306端口是tcp6,这样会导致无法远程连接数据库

    Tips:
    远程连接数据库如果出现 1130 - Host XXX is not allowed to connect to this MySQL server 错误提示

    1、登录MySQL,然后查看配置

    mysql> use mysql;
    mysql> select host from user where user='root';
    
    • 1
    • 2

    在这里插入图片描述

    2、可以看到是 localcost,修改配置

    update user set host = '%' where user ='root';
    
    • 1

    3、使配置生效

    flush privileges;
    
    • 1

    4、host设置了“%”后便可以允许远程访问,再次查看

    在这里插入图片描述

    然后关闭服务器防火墙

    sudo systemctl stop ufw
    
    • 1

    这时候就可以远程连接数据库了

    Step2:Spring Boot项目打Jar包

    1、jar包放在服务器自定义的目录下

    我这里是 /home/AAA_Projects/assessment/
    在这里插入图片描述
    执行

    nohup java -jar packageName.jar &
    
    • 1
    nohup java -jar packageName.jar VS java -jar packageName.jar

    nohup java -jar packageName.jarjava -jar packageName.jar 是两种在Unix和Linux系统中运行Java应用程序的方式,它们之间有一些重要的区别:

    1. 后台运行:

      • nohup java -jar packageName.jarnohup 命令用于在后台运行进程,并且不会受到终端关闭或断开连接的影响。这意味着当你关闭终端或注销时,Java应用程序仍然在运行。
      • java -jar packageName.jar:这只是在当前终端会话中启动Java应用程序,如果你关闭终端,应用程序也会终止。
    2. 输出重定向:

      • nohup java -jar packageName.jarnohup 默认将标准输出重定向到一个名为nohup.out的文件,这是为了捕获应用程序的输出,以便后续查看。你也可以使用> somefile.log来自定义输出文件。
      • java -jar packageName.jar:标准输出通常会在终端中显示,除非你手动重定向它,例如,java -jar packageName.jar > output.log
    3. 退出会话的影响:

      • nohup java -jar packageName.jar:这种方式可以在终端会话退出后继续运行,因此适合长时间运行的任务或后台服务。
      • java -jar packageName.jar:如果从终端启动应用程序,它将在终端会话退出时一同终止。

    这时候Spring Boot后端项目部署就大功告成了!

  • 相关阅读:
    服务器免密登录设置
    想自学软件测试,应该从哪开始?
    【AGC】通过AGC认证服务在Android平台实现华为账号登录功能
    时序预测 | MATLAB实现ICEEMDAN-IMPA-GRU时间序列预测
    修炼k8s+flink+hdfs+dlink(六:学习namespace,service)
    陈瑞瑞潘童童程乐黄明深哈夫曼编码与信道编码
    【golang】代理模式 proxy using in go
    Java 正则表达式
    常见的设计模式(下)
    布隆过滤器原理很好懂
  • 原文地址:https://blog.csdn.net/NJR10byh/article/details/132607086