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 文件后,显示窗口如下
在这里插入图片描述

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
12天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
73 26
|
20天前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
38 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
8天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
55 13
|
16天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
26天前
|
监控 IDE Java
如何在无需重新启动服务器的情况下在 Spring Boot 上重新加载我的更改?
如何在无需重新启动服务器的情况下在 Spring Boot 上重新加载我的更改?
45 8
|
1月前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
38 1
|
2月前
|
JSON Java 网络架构
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
这篇文章介绍了如何使用Spring Boot整合REST方式来搭建和操作Elasticsearch服务。
143 4
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
|
2月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
395 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
1月前
|
监控 前端开发 Java
Java SpringBoot –性能分析与调优
Java SpringBoot –性能分析与调优
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
下一篇
DataWorks