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

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

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

相关文章
|
10月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
2234 5
|
10月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
316 17
|
11月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
1220 13
|
11月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
878 0
监控 安全 Linux
625 0
|
12月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
600 16
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
587 0
|
运维 数据可视化 数据库
一小时搞定服务器软件部署:资深工程师实测方案
本文分享了一位运维工程师在短时间内将30个不同软件部署到新服务器上的实战经验。面对全新 Rocky Linux 系统,传统手工部署方式效率低下且容易出错。作者尝试多种自动化方案后,最终选择使用自动化部署工具,通过其内置的 Docker Compose 模板和可视化界面,实现快速、批量部署,大幅提升效率,30个应用仅用约1小时完成,显著节省时间和人力成本。

热门文章

最新文章