在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
),确保以下配置项正确:
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服务
打开命令提示符(以管理员身份运行),执行以下命令:
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服务:
sc start RedisService
4.验证Redis服务
• 打开任务管理器,查看Redis进程是否正常运行。
• 使用redis-cli
工具连接Redis服务器:
D:\softs\Redis-x64-3.0.504\redis-cli.exe
在redis-cli
中输入ping
,如果返回PONG
,则说明Redis服务正常。
二、将Nginx注册为服务
1.使用sc
命令注册Nginx服务
Nginx本身不支持直接作为Windows服务运行,但可以通过sc
命令结合Nginx的可执行文件路径来实现。打开命令提示符(以管理员身份运行),执行以下命令:
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服务:
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)通过。可以通过以下命令在防火墙中添加规则:
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成功注册为服务,并在正式环境中使用它们。