Spring boot项目部署到云服务器小白教程详解

  1. 准备工作

在进行 Spring Boot 项目部署之前,首先需要做好以下准备工作:

  • 一台云服务器(常用的有阿里云、腾讯云、华为云等)。
  • 安装 JDK 环境,一般推荐使用 OpenJDK 或 Oracle JDK。
  • 安装 Maven,用于构建打包项目。
  • 安装 Nginx,用作反向代理服务器。

  • 上传项目代码

可以通过 FTP 或控制台上传本地的 Spring Boot 项目代码到云服务器中。在上传项目代码之前,先确保服务器上已经安装了 Git 和相应的代码管理工具。

示例1:使用 Git 命令将本地项目代码上传到云服务器

# 克隆代码到本地
git clone https://github.com/xxx/xxx.git

# 进入项目目录
cd xxx

# 修改配置文件(如果需要)
vim application.properties

# 打包项目
mvn clean package -Dmaven.skip.test=true

# 上传项目到服务器
scp target/xxx.jar username@server_ip:/path/to/target/

示例2:使用 FTP 工具将本地项目代码上传到云服务器

首先,需要在云服务器上安装和配置 FTP 服务器。然后,使用 FTP 工具(例如 FileZilla)上传本地项目代码到云服务器上。

  1. 安装 Java 运行环境

在云服务器上安装 JDK 环境,一般推荐使用 OpenJDK 或 Oracle JDK。

示例1:使用 YUM 安装 OpenJDK

# 安装 OpenJDK
yum install java-1.8.0-openjdk -y

# 查看 Java 版本
java -version

示例2:下载安装 Oracle JDK

从 Oracle 官网下载所需版本的 JDK 安装包,然后通过命令行方式安装。

# 解压安装包
tar -zxvf jdk-8u211-linux-x64.tar.gz

# 设置 JAVA_HOME 环境变量
export JAVA_HOME=/path/to/jdk/jdk1.8.0_211

# 更新 PATH 环境变量
export PATH=$JAVA_HOME/bin:$PATH

# 查看 Java 版本
java -version
  1. 安装 Nginx

在云服务器上安装 Nginx,用作反向代理服务器。

示例1:使用 YUM 安装 Nginx

# 安装 Nginx
yum install nginx -y

# 启动 Nginx
systemctl start nginx

# 查看 Nginx 状态
systemctl status nginx

示例2:编译安装 Nginx

# 下载 Nginx 源码
wget http://nginx.org/download/nginx-1.14.0.tar.gz

# 解压源码
tar -zxvf nginx-1.14.0.tar.gz

# 编译安装 Nginx
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

# 启动 Nginx
/usr/local/nginx/sbin/nginx

# 查看 Nginx 状态
/usr/local/nginx/sbin/nginx -s status
  1. 配置 Nginx

在 Nginx 中配置反向代理,将客户端的请求转发到 Spring Boot 项目。

示例1:配置 Nginx 反向代理

# 创建 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf

# 添加以下配置
server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 重启 Nginx
/usr/local/nginx/sbin/nginx -s reload

示例2:配置 HTTPS 反向代理

# 生成 SSL 证书
openssl req -newkey rsa:2048 -nodes -keyout example.key -x509 -days 365 -out example.crt

# 创建 Nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf

# 添加以下配置
server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /path/to/example.crt;
    ssl_certificate_key /path/to/example.key;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

# 重启 Nginx
/usr/local/nginx/sbin/nginx -s reload
  1. 启动 Spring Boot 项目

在云服务器上启动 Spring Boot 项目,并在 Nginx 的反向代理下测试访问。

示例1:使用 jar 包启动 Spring Boot 项目

# 进入项目目录
cd /path/to/target

# 启动项目
nohup java -jar xxx.jar &

# 查看日志输出
tail -f nohup.out

示例2:使用 systemctl 启动 Spring Boot 项目

# 创建项目启动脚本
vim /etc/systemd/system/xxx.service

# 添加以下配置
[Unit]
Description=xxx
After=syslog.target

[Service]
User=root
ExecStart=/usr/bin/java -jar /path/to/target/xxx.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

# 重新加载配置
systemctl daemon-reload

# 启动服务
systemctl start xxx

# 查看状态
systemctl status xxx

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring boot项目部署到云服务器小白教程详解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • JDBC如何访问MySQL数据库,并增删查改

    JDBC是Java Database Connectivity的缩写,它是Java语言中访问数据库的一种标准方式,允许开发者通过Java程序访问不同类型的数据库系统。以下是JDBC如何访问MySQL数据库,并进行增删查改的完整攻略。 步骤1: 安装MySQL驱动 Java开发者访问MySQL数据库需要将其驱动程序添加到项目中。MySQL提供了官方的JDBC驱…

    Java 2023年6月16日
    00
  • Java实现矩阵乘法以及优化的方法实例

    Java实现矩阵乘法以及优化的方法实例 背景 矩阵乘法是线性代数中的基本操作,具体实现方法是将两个矩阵进行乘法运算,得到一个新的矩阵。在Java中,我们可以使用循环遍历的方式逐个计算矩阵元素,但是这样效率较低,需要使用优化算法来提高计算速度。 算法介绍 基本矩阵乘法 假设有两个矩阵A(mn),B(np),结果矩阵C(m*p),它们的乘法运算式如下所示: $C…

    Java 2023年5月19日
    00
  • Java File类常用方法与文件过滤器详解

    Java File类是对文件系统中的文件和文件夹进行操作的类。它提供了很多常用的方法,可以方便地对文件进行读取、写入和其他的一些操作。本文将详细讲解Java File类的常用方法及文件过滤器的使用。 文件对象创建 File类的构造方法很多,常见的有以下几种: File(File parent, String child):从父抽象路径名和子路径名字符串创建新…

    Java 2023年5月19日
    00
  • Spring Boot + thymeleaf 实现文件上传下载功能

    下面我将详细讲解“Spring Boot + Thymeleaf 实现文件上传下载功能”的完整攻略。 准备工作 在开始前,请确保你已经具备以下环境: JDK1.8及以上 Maven 3.0及以上 项目搭建 建立一个 Spring Boot 项目 可以通过 Spring Initializr 快速搭建,选择 Web 依赖和 Thymeleaf 模板引擎即可。 …

    Java 2023年6月15日
    00
  • Java文件上传下载、邮件收发实例代码

    Java文件上传下载及邮件收发是Java程序开发中常用的功能,本文将为大家介绍Java文件上传下载及邮件收发的实例代码,帮助大家更好地掌握Java编程中这些常见功能的实现。 文件上传下载 上传文件 文件上传是Web应用开发中常见的功能之一。以下是一个文件上传的示例代码: @PostMapping("/upload") public Str…

    Java 2023年6月15日
    00
  • IDEA创建SpringBoot的maven项目的方法步骤

    创建Spring Boot的Maven项目是一个常见的任务,使用IntelliJ IDEA可以轻松完成。在本文中,我们将详细讲解如何使用IntelliJ IDEA创建Spring Boot的Maven项目,包括如何选择Spring Boot版本、如何配置Maven、如何添加依赖项等。 步骤 以下是使用IntelliJ IDEA创建Spring Boot的Ma…

    Java 2023年5月15日
    00
  • Spring的编程式事务和声明式事务详解

    Spring的编程式事务和声明式事务详解 在使用Spring框架开发应用程序时,事务管理是一个非常重要的话题。Spring框架提供了两种管理事务的方式:编程式事务和声明式事务。本文将详细讲解这两种事务管理方式。 编程式事务 编程式事务是通过编写代码来控制事务的提交和回滚。在Spring框架中,编程式事务是通过 TransactionTemplate 类实现的…

    Java 2023年5月20日
    00
  • Java JDBC API介绍与实现数据库连接池流程

    Java JDBC API介绍与实现数据库连接池流程 JDBC API介绍 Java Database Connectivity(JDBC)是一个Java API,让Java应用程序与关系型数据库进行交互。JDBC API允许开发人员执行SQL查询和更新以及事务处理。 JDBC API的主要组成部分是: DriverManager类:负责创建数据库连接。 C…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部