Windows 服务器全套部署 Java 服务 -- JDK Redis Springboot

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Windows 服务器全套部署 Java 服务 -- JDK Redis Springboot

前言

最近做一个项目,实现 用户免密单点登录腾讯企业邮箱 https://exmail.qq.com/

项目是架构是 Springboot + Redis类型,部署环境是一台未配置任何开发环境的 Windows 服务器。所以需要先安装配置 JDK,安装 Redis,再将 Springboot 服务部署上去。

对腾讯企业邮箱免密单点登录感兴趣的可以到官方开发者中心研究: https://exmail.qq.com/qy_mng_logic/doc#10036

一、JDK 安装配置

因为项目用到的是 Springboot2.0 版本,所以需要 JDK1.8 以上版本。
官网下载: https://www.oracle.com/java/technologies/javase-downloads.html
百度云下载: 链接:https://pan.baidu.com/s/1fg2E2ecUziT2AgO2iit-yw 提取码:l7ju

1.1 JDK 安装

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.2 JDK 环境变量配置

鼠标右键桌面计算机图标,点击属性
在这里插入图片描述
选择点击高级系统设置
在这里插入图片描述
选择点击环境变量
在这里插入图片描述
新建系统变量,变量名为JAVA_HOME,变量值为你安装的JDK位置。
在这里插入图片描述
编辑系统变量Path,在变量值末尾加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
在这里插入图片描述
新建系统变量,变量名为classpath,变量值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar
在这里插入图片描述
最后全部保存确定。然后在cmd命令行窗口,输入 java -version 命令,出现下面结果则表示 JDK 安装并配置完成。
在这里插入图片描述

二、安装 Redis

百度云下载: 链接:https://pan.baidu.com/s/1IUz-RPXw9NmSysMDqJNPcQ 提取码:sshi

下载后解压到你想安装的目录下
在这里插入图片描述

2.1 前台启动 Redis 服务

在安装目录下启动 cmd 命令行窗口,然后输入 redis-server.exe redis.windows.conf命令,回车。如果出现一个方形图标,即服务启动成功。

不过此种启动方式,是前台启动方式,只创建 Redis 临时服务,不会在 window Service 列表出现 Redis 服务名称和状态, 此窗口关闭,Redis 服务会自动关闭。

在这里插入图片描述

通过客户端连接测试,在安装目录下再启动一个 cmd 命令行窗口,然后输入 redis-cli.exe命令,回车。如下则连接成功。

在这里插入图片描述

2.2 修改端口和密码

在Redis的安装目录下找到 redis.windows-service.conf 文件,用 文本编辑器打开。找到 port 所在行,把默认的端口更改,例如改为6380。找到 requirepass 所在行,回车另起一行,例如输入 requirepass 123456 ,这样Redis密码就为123456,设置好保存后文件,重启redis服务。

在这里插入图片描述
在这里插入图片描述

客户端连接测试。输入 redis-cli.exe -p 6380 连接,此时我们随便输入命令例如列出所有键命令 keys * ,会报错,因为我们还未输入密码验证。再输入 auth 123456 ,123456是我们刚设置的Redis密码。就可以执行命令了。

在这里插入图片描述

2.3 服务方式安装启动

前台方式启动redis服务,则需要保持打开命令行窗口启动着。窗口一关则服务停止。以下演示将 Redis 设置为 Windows下的服务,并在后台启动。

首先将 Redis 注册为服务,在 Redis 安装目录下启动一个cmd命令行窗口,然后输入 redis-server.exe --service-install redis.windows.conf --loglevel verbose 命令,回车。 注意!!!一定要把临时服务关闭,否则安装不上。

在这里插入图片描述
再输入 redis-server.exe --service-start 命令,启动服务。

在这里插入图片描述

  • 启动服务:redis-server.exe --service-start
  • 暂停服务:redis-server.exe --service-stop
  • 卸载服务:redis-server.exe --service-uninstall

三、部署 Java 服务

Java项目是通过 Springboot 开发的,然后打成 jar 包形式。

3.1 命令行临时启动服务

正常我们是通过命令 java -jar xx.jar启动Java服务,但是此方式有个缺点是要一直保持打开着窗口。

在这里插入图片描述

3.2 后台启动Java服务

新建 run.bat 文件,在文件中输入以下内容,保存。最后双击run.bat文件即可后台启动Java服务。
@echo off

title Service Run

color 3E

start javaw -jar -Xbootclasspath/a:application.yml exmail-sso-server.jar

echo ------------------------ exmail service -------------------------
echo .
echo -------------------- service start succefully -------------------
echo .
echo -----------------------------------------------------------------

timeout /t 3

exit
title Service Run:是为启动窗口设置窗口名称 Service Run
color 3E:设置窗口颜色为3E
-Xbootclasspath/a:application.yml:启动服务使用外部配置文件 application.yml,这里是使用相对路径,application.yml 文件和 exmail-sso-server.jar 文件在同一目录下。如果不使用外部配置文件,这串命令可以去除。
echo:打印我们想在控制台输出的内容,也可去除。
timeout /t 3:窗口在多久后自动关闭,这里设置3秒。

双击 run.bat 文件启动服务后,显示如下窗口则代表服务启动成功。
在这里插入图片描述

但是如果我们想要终止删除这个Java后台服务呢,可以按如下方式终止:

  • 首先通过服务端口号找到服务进程ID,命令为netstat -ano |findstr 端口号,也可以通过命令tasklist在进程列表中查找。
  • 杀死进程,命令为 taskkill /pid 进程号。如果报【错误:无法种子PID为xxxx的进程】错误,则需要使用taskkill -F /pid 进程号命令强制杀死进程。

查看杀进程命令的帮助命令为taskkill /?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

也可以通过 system idle process 杀掉进程,例如我们这是使用 javaw 命令启动服务的,所以可以使用 taskkill -f -t -im javaw.exe 杀死进程。

例如,我的关闭服务脚本文件 shutdown.bat 文件内容如下
@echo off

title Service Shutdown

color 3E

taskkill -f -t -im javaw.exe

echo ------------------------ exmail service ------------------------
echo .
echo -------------------- service stop succefully -------------------
echo .
echo ----------------------------------------------------------------

timeout /t 3

exit

双击 shutdown.bat 文件后,显示窗口如下
在这里插入图片描述

我的服务文件路径位置存放如下
在这里插入图片描述

相关文章
|
2月前
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
13天前
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
56 6
java调用服务报错400
kde
|
14天前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
kde
348 6
|
14天前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
71 6
|
1月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
200 1
Redis-常用语法以及java互联实践案例
|
4月前
|
缓存 监控 NoSQL
Redis 实操要点:Java 最新技术栈的实战解析
本文介绍了基于Spring Boot 3、Redis 7和Lettuce客户端的Redis高级应用实践。内容包括:1)现代Java项目集成Redis的配置方法;2)使用Redisson实现分布式可重入锁与公平锁;3)缓存模式解决方案,包括布隆过滤器防穿透和随机过期时间防雪崩;4)Redis数据结构的高级应用,如HyperLogLog统计UV和GeoHash处理地理位置。文章提供了详细的代码示例,涵盖Redis在分布式系统中的核心应用场景,特别适合需要处理高并发、分布式锁等问题的开发场景。
323 40
|
3月前
|
Java 数据库连接 API
Java 8 + 特性及 Spring Boot 与 Hibernate 等最新技术的实操内容详解
本内容涵盖Java 8+核心语法、Spring Boot与Hibernate实操,按考试考点分类整理,含技术详解与代码示例,助力掌握最新Java技术与应用。
121 3
|
3月前
|
分布式计算 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用(186)
本篇文章探讨了Java大数据技术在智慧养老服务需求分析与个性化服务匹配中的应用。通过整合老年人健康数据与行为数据,结合机器学习与推荐算法,实现对老年人健康风险的预测及个性化服务推荐,提升养老服务的智能化与精准化水平,助力智慧养老高质量发展。
|
4月前
|
缓存 NoSQL Java
Java Redis 面试题集锦 常见高频面试题目及解析
本文总结了Redis在Java中的核心面试题,包括数据类型操作、单线程高性能原理、键过期策略及分布式锁实现等关键内容。通过Jedis代码示例展示了String、List等数据类型的操作方法,讲解了惰性删除和定期删除相结合的过期策略,并提供了Spring Boot配置Redis过期时间的方案。文章还探讨了缓存穿透、雪崩等问题解决方案,以及基于Redis的分布式锁实现,帮助开发者全面掌握Redis在Java应用中的实践要点。
228 6
|
4月前
|
Java 数据库连接 API
Java 对象模型现代化实践 基于 Spring Boot 与 MyBatis Plus 的实现方案深度解析
本文介绍了基于Spring Boot与MyBatis-Plus的Java对象模型现代化实践方案。采用Spring Boot 3.1.2作为基础框架,结合MyBatis-Plus 3.5.3.1进行数据访问层实现,使用Lombok简化PO对象,MapStruct处理对象转换。文章详细讲解了数据库设计、PO对象实现、DAO层构建、业务逻辑封装以及DTO/VO转换等核心环节,提供了一个完整的现代化Java对象模型实现案例。通过分层设计和对象转换,实现了业务逻辑与数据访问的解耦,提高了代码的可维护性和扩展性。
182 1

热门文章

最新文章