在Windows 境下,将Redis和Nginx注册为服务。

在Windows Server 2012 R2环境下,不使用nssm工具,可以通过Windows自带的sc命令将Redis和Nginx注册为服务。以下是在Windows Server 2012 R2上部署的详细步骤:

一、将Redis注册为服务

1.修改Redis配置文件

打开Redis的配置文件(D:\softs\Redis-x64-3.0.504\redis.windows.conf),确保以下配置项正确:

conf 复制代码
daemonize yes
port 6379
pidfile D:\softs\Redis-x64-3.0.504\redis.pid
logfile D:\softs\Redis-x64-3.0.504\redis.log

• daemonize yes:以守护进程模式运行。

• pidfile:指定PID文件路径。

• logfile:指定日志文件路径。

2.使用sc命令注册Redis服务

打开命令提示符(以管理员身份运行),执行以下命令:

bash 复制代码
sc create RedisService binPath= "D:\softs\Redis-x64-3.0.504\redis-server.exe D:\softs\Redis-x64-3.0.504\redis.windows.conf" DisplayName= "Redis Service" start= auto

• RedisService:服务名称。

• binPath=:指定Redis服务的启动路径,包括配置文件路径。

• DisplayName=:服务显示名称。

• start= auto:设置服务为自动启动。

3.启动Redis服务

在命令提示符中运行以下命令启动Redis服务:

bash 复制代码
sc start RedisService

4.验证Redis服务

• 打开任务管理器,查看Redis进程是否正常运行。

• 使用redis-cli工具连接Redis服务器:

bash 复制代码
  D:\softs\Redis-x64-3.0.504\redis-cli.exe

在redis-cli中输入ping,如果返回PONG,则说明Redis服务正常。

二、将Nginx注册为服务

1.使用sc命令注册Nginx服务

Nginx本身不支持直接作为Windows服务运行,但可以通过sc命令结合Nginx的可执行文件路径来实现。打开命令提示符(以管理员身份运行),执行以下命令:

bash 复制代码
sc create NginxService binPath= "D:\nginx-1.21.5\nginx.exe -c D:\nginx-1.21.5\conf\nginx.conf" DisplayName= "Nginx Service" start= auto

• NginxService:服务名称。

• binPath=:指定Nginx的可执行文件路径及配置文件路径。

• DisplayName=:服务显示名称。

• start= auto:设置服务为自动启动。

2.启动Nginx服务

在命令提示符中运行以下命令启动Nginx服务:

bash 复制代码
sc start NginxService

3.验证Nginx服务

• 打开浏览器,访问http://localhost,如果看到Nginx的欢迎页面,则说明Nginx服务已经正常运行。

• 打开任务管理器,查看Nginx进程是否正常运行。

三、注意事项

1.权限问题

确保以管理员身份运行命令提示符,否则可能会遇到权限不足的问题。

2.配置文件路径

如果Redis或Nginx的配置文件路径不正确,可能会导致服务无法启动。请确保配置文件路径与实际路径一致。

3.服务名称唯一性

注册服务时指定的服务名称(如RedisService和NginxService)必须是唯一的,不能与其他服务重复。

4.防火墙设置

如果你的服务器有防火墙,确保Redis和Nginx的端口(默认Redis是6379,Nginx是80)没有被阻止。

5.日志和错误排查

如果服务启动失败,可以查看Windows事件查看器中的服务日志,或者检查Redis和Nginx的日志文件,排查问题。

四、额外说明

在Windows Server 2012 R2环境下,使用sc命令注册服务是一种简单且有效的方法。如果在注册或启动服务时遇到问题,可以参考以下常见问题的解决方法:

1.服务无法启动

如果服务无法启动,可以尝试以下步骤:

• 检查配置文件路径是否正确。

• 确保Redis和Nginx的可执行文件路径正确。

• 查看Windows事件查看器中的服务日志,获取详细的错误信息。

2.防火墙限制

确保防火墙允许Redis和Nginx的端口(默认Redis是6379,Nginx是80)通过。可以通过以下命令在防火墙中添加规则:

bash 复制代码
netsh advfirewall firewall add rule name="Redis" dir=in action=allow protocol=TCP localport=6379
netsh advfirewall firewall add rule name="Nginx" dir=in action=allow protocol=TCP localport=80

通过以上步骤,你可以在Windows Server 2012 R2环境下将Redis和Nginx成功注册为服务,并在正式环境中使用它们。

相关推荐
无言听风雨丶10 小时前
Nginx 深度实战:从架构原理到生产排错
运维·nginx·架构
麻瓜code10 小时前
Spring AI 全模块 API 字典一览(1.1.0 版)
人工智能·windows·spring
我不会起名字32210 小时前
Redis 从 0 到 1(十九):JWT 还是 Redis Session?登录态存储的 Go 实现
redis·go·jwt·session·登录态
我不会起名字32210 小时前
Redis 从 0 到 1(十六):1 亿 UV 只占 12KB?计数去重三件套的 Go 实测
redis·go·uv·布隆过滤器·hyperloglog
zrc00700711 小时前
steam无法登录 steam错误 登录时出现错误。请稍后再试。解决办法 steam无法登录解决办法 湖南地区steam DNS问题解决办法
windows·经验分享·游戏·缓存·游戏程序·创业创新·玩游戏
xxwl58512 小时前
Nginx 基础学习笔记
笔记·学习·nginx
BK贝壳12 小时前
布尔队列 BHA_Queue:入队出队均摊 O(1);附 BHA_Dict
windows
-星空下无敌12 小时前
Windows Docker K8s 安装部署Naocs ,SpringBoot 3.x 4.x 整合Naocs 版本兼容 配置中心、服务注册与发现
windows·docker·nacos·kubernetes·springboot·alibaba
燃烧的枫12 小时前
Windows 下 YOLO11 Pose 的 TensorRT C++ 部署
windows·yolo·tensorrt·1024程序员节·yolo11-pose
码剑客13 小时前
Gin+GORM+Redis 项目开发常见性能坑汇总(Go后端避坑指南)
redis·后端·golang·gin