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日

相关文章

  • JVM垃圾收集器详解

    我们来详细讲解一下“JVM垃圾收集器详解”的完整攻略。 什么是JVM垃圾收集器 在JVM内存中,经过一段时间后,会存在很多不再使用的对象,这些对象就成为了垃圾。为了释放这些垃圾占用的内存空间,JVM提供了垃圾收集器来进行自动的垃圾回收。 常见的垃圾收集算法 1. 标记-清除算法 这是一种比较早的垃圾收集算法,它的缺点是会产生大量的内存碎片。其工作流程如下: …

    Java 2023年5月20日
    00
  • Java基础泛型详情

    Java基础泛型详情 什么是泛型 泛型是Java的一种特性,可以让用户在编写代码时将数据类型作为参数进行传递。通过泛型,Java可以实现更加安全、灵活和可读性强的代码。泛型的本质是参数化类型,也就是说,使用时可以在代码中传递各种类型的数据,这样可以避免一些常见的类型错误。 泛型的语法 定义泛型类可以使用以下语法: class 类名<泛型参数1, 泛型参…

    Java 2023年5月26日
    00
  • SpringBoot超详细讲解事务管理

    SpringBoot超详细讲解事务管理 什么是事务管理? 在数据库中,事务是一组要么全部执行、要么全部不执行的操作序列。如果在事务中任何一个操作失败,整个事务都应该失败并回滚到事务开始状态。 事务管理就是保证在数据库操作中,一组操作要么全部完成,要么全部不完成的机制。 Spring中的事务管理 Spring框架中提供了多种方式进行事务管理,包括声明式事务管理…

    Java 2023年5月15日
    00
  • Servlet与JSP间的两种传值情况

    Servlet与JSP是JavaEE中常见的Web开发组件,二者通常需要交互传递数据才能实现复杂的业务逻辑。下面我将详细讲解Servlet与JSP间的两种传值情况: 1. 通过URL参数传值 通过URL参数传值是Servlet与JSP间最简单的一种传值方式,它将数据作为URL的一部分直接传递给接收方。例如,我们可以在Servlet中使用以下代码设置URL并跳…

    Java 2023年6月15日
    00
  • Linux系统中Tomcat环境配置方式

    下面是详细讲解 Linux 系统中 Tomcat 环境配置方式的完整攻略: 1. 下载Tomcat 首先,需要从官方网站下载 Tomcat,下载地址:https://tomcat.apache.org/download-90.cgi 在这里我们选择下载 Tomcat 9.0 版本,下载完成后解压。 2. 配置环境变量 将 Tomcat 解压到目标位置,比如 …

    Java 2023年5月19日
    00
  • 利用Spring Data MongoDB持久化文档数据的方法教程

    当使用Spring Data MongoDB进行文档数据持久化时,首先需要创建一个实体类,该实体类中需要包含一些注释以告知Spring Data MongoDB如何将该实体类映射到MongoDB集合。 例如,考虑以下实体类: @Document(collection = "myCollection") public class MyEnt…

    Java 2023年5月20日
    00
  • 详解Spring Boot 定时任务的实现方法

    Spring Boot提供了一种简单的方式来实现定时任务。以下是详解Spring Boot定时任务的实现方法的完整攻略: 添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp…

    Java 2023年5月15日
    00
  • Java Spring JdbcTemplate基本使用详解

    Java Spring JdbcTemplate基本使用详解 Java Spring JdbcTemplate是一个操作数据库的类库,对于Java开发者来说是一项重要的技能。在使用JdbcTemplate的过程中,需要遵循一些基本的使用规则,接下来我们将详细介绍JdbcTemplate的使用方法。 JdbcTemplate的简介 JdbcTemplate是S…

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