服务器系统重装后的服务恢复
- 1.原因
- 2.问题处理
- 2.1 JDK
- 2.2 Elasticsearch
- 2.3 Redis
- 2.4 Jafka
- 2.5 Tomcat
- 3.总结
1.原因
Windows 服务器系统盘损坏,换了硬盘并重做了系统,其他磁盘未损坏但安装的服务无法正常运行了,包括:
- Elasticsearch
- Redis
- Jafka
- Tomcat
2.问题处理
2.1 JDK
系统盘损坏之后,作为运行环境,ES、Tomcat 都依赖 JRE 所以要首先安装 JDK,安装步骤这里不再赘述了,一定要配置环境变量:
JAVA_HOME
(指向 JDK 的根目录)- Path 添加(
%JAVA_HOME%/bin;``%JAVA_HOME%/jre/bin;
)
配置完成后可以在 CMD 里查看是否生效:
# 命令java -version# 输出java version "1.8.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
2.2 Elasticsearch
Windows 版本的 ES 是解压版本的,安装文件和数据文件都在,但是环境变量由于系统重装丢失,添加即可:
- 设置
ES_HOME
环境变量,指向Elasticsearch的安装目录。
将 ES 安装为 Windows 服务:
- 在
bin
目录打开 CMD 执行elasticsearch-service.bat install
命令进行安装。 - 通过服务管理工具(
services.msc
)或打开任务管理器点击服务,找到 Elasticsearch 服务,启动它。或者,在命令提示符中执行net start elasticsearch
命令来启动服务。 - 打开浏览器,访问
http://IP:9200/
,如果能看到 Elasticsearch 的欢迎页面,则表示启动成功。
2.3 Redis
Windows 版本的 Redis 也是解压版本的,不能通过配置文件 redis.windows.conf
达到后台运行的目的:
- 需要通过运行命令
redis-server --service-install redis.windows.conf --loglevel verbose
,将Redis安装为服务并启动后台运行。
redis-server
:启动Redis服务器进程。--service-install
:安装为Windows服务。redis.windows.conf
:指定Redis配置文件的路径,该文件包含了Redis服务的设置和参数。--loglevel verbose
:设置日志级别为详细(verbose),这将记录更详细的信息,有助于调试和监控Redis服务。
Redis的日志级别共有四种:
- debug:会打印出大量信息,主要用于开发和测试阶段。它记录了Redis应用程序内部运行的详细信息,有助于开发者了解程序的详细行为和状态。
- verbose:包含很多不太有用的信息,但比debug级别要清爽一些。它记录了更高级别的信息,例如请求和响应的内容。
- notice:适用于生产模式,适度冗长,记录重要的操作和告警信息,以及Redis发出的一些重要通知。
- warning:仅记录非常重要、关键的警告消息,通常用于记录发生的错误,但不影响Redis应用程序的正常运行。
- 检查Redis服务状态:运行命令
redis-cli ping
,如果返回"PONG",表示Redis已经成功启动并在后台运行。 - 停止Redis服务的后台运行,可以运行命令
redis-server --service-stop
。
2.4 Jafka
Windows 版本的 Jafka 也是解压版,丢失了环境变量和服务:
- 添加环境变量
JAFKA_HOME
或者修改配置文件X:/jafka/bin/jafka.conf
set.JAFKA_HOME=X:/jafka
- 安装服务
>jafka.exe -i
- 通过服务管理工具(
services.msc
)或打开任务管理器点击服务,找到 Jafka 服务,启动它。
2.5 Tomcat
Windows 版本的 Tomcat 使用 Tomcat8w.exe
启动时报错:
Application System Error指定的服务未安装Unable to open the service 'Tomcat8'
尝试使用 service.bat install
安装服务时报错:
The tomcat8.exe was not found...The CATALINA_HOME environmet variable is not defined correctly.This environment variable is needed to run this program
实际上,一台服务器会安装多个 Tomcat 此时 CATALINA_HOME
要如何配置呢?我们打开 service.bat
配置文件:
setlocalset "SELF=%~dp0%service.bat"set DEFAULT_SERVICE_NAME=Tomcat8set SERVICE_NAME=%DEFAULT_SERVICE_NAME%set "CURRENT_DIR=%cd%"if not "%CATALINA_HOME%" == "" goto gotHomeset "CATALINA_HOME=%cd%"if exist "%CATALINA_HOME%/bin/%DEFAULT_SERVICE_NAME%.exe" goto gotHomeif exist "%CATALINA_HOME%/bin/%SERVICE_NAME%.exe" goto gotHome
可以发现CATALINA_HOME
是可以不用配置的,但是要修改DEFAULT_SERVICE_NAME,版本不同修改的地方可能不一样,我使用的是 8.5
版本:
# 部署多个Tomcat时服务名称一定要不一样【安装的时候一样也会提示的】set DEFAULT_SERVICE_NAME=Tomcat8set SERVICE_NAME=%DEFAULT_SERVICE_NAME%
这个服务名称跟文件夹里的启动程序是一致的:
修改好之后,再次安装即可,使用服务管理工具(services.msc
)或打开任务管理器点击服务启动,也可以使用 Tomcat8w.exe
进行服务启停。
3.总结
- 大部分解压版的服务不用进行重装,但是需要配置环境变量。
- 安装版的可能存在较多的问题。