Windows下将nginx等可执行文件添加为服务

Windows下将nginx等可执行文件添加为服务

  • 为什么将可执行文件添加为服务?
  • 将可执行文件添加为服务的步骤
    • 步骤 1:下载和安装 Nginx
    • 步骤 2:添加为服务
      • 方法一:使用 Windows 自带的 sc 命令
      • 方法二:使用 NSSM(Non-Sucking Service Manager)
      • 方法三 :使用 WinSW
    • 步骤 3:启动和管理服务
    • 其他:删除服务

在这里插入图片描述

为什么将可执行文件添加为服务?

将可执行文件添加为服务有以下几个优势:

  1. 自动启动: 可以在系统启动时自动启动这些服务,无需手动干预。
  2. 稳定性: 以服务方式运行的应用程序通常会更稳定,因为它们在独立的进程中运行,不受用户登录状态的影响。
  3. 后台运行: 服务以后台方式运行,不会占用用户界面的空间,适合服务器环境。
  4. 远程管理: 可以通过服务管理工具轻松管理和监控这些服务。

将可执行文件添加为服务的步骤

这里我们使用Nginx作为一个例子,其他的可执行文件都是同理。

步骤 1:下载和安装 Nginx

前往 Nginx 官方网站下载 Windows 版本的 Nginx 可执行文件。
解压下载的文件到一个目录,例如 C:\nginx\。

步骤 2:添加为服务

方法一:使用 Windows 自带的 sc 命令

  1. 打开命令提示符(以管理员权限运行)。

  2. 使用以下命令将 Nginx 添加为服务:

    sc create Nginx binPath= "C:\nginx\nginx.exe -g \"daemon off;\"" DisplayName= "Nginx" start= auto
    

在此示例中,Nginx 是服务的名称,C:\nginx\nginx.exe -g “daemon off;” 是 Nginx 可执行文件的完整路径和启动参数,Nginx 是服务的显示名称,start= auto 表示在系统启动时自动启动服务。

  1. 以下是 sc 命令的详细参数配置说明:
    sc create [ServiceName] binPath= "[ExecutablePath] [Options]" DisplayName= "[DisplayName]" start= [StartType]
    
    • ServiceName: 指定服务的名称,这是您在后续管理服务时需要使用的标识符。
    • binPath: 指定可执行文件的完整路径,包括执行文件本身和可能的命令行参数。
    • Options: 如果您的可执行文件需要附加命令行参数以正确运行,可以在这里指定。
    • DisplayName: 指定服务的显示名称,这是在服务管理器中显示的名称。
    • StartType: 指定服务的启动类型,有以下选项:
      • auto: 在系统启动时自动启动服务。
      • demand: 仅在手动请求时启动服务(默认值)。
      • disabled: 禁用服务,不会自动启动。

方法二:使用 NSSM(Non-Sucking Service Manager)

  1. 下载 NSSM: 前往 NSSM 官方网站(https://nssm.cc/)下载最新版本的 NSSM 工具。

  2. 安装 NSSM: 将下载的 NSSM 压缩包解压到一个文件夹中。

  3. 添加服务:

    • 打开命令提示符(以管理员权限运行)。
    • 导航到 NSSM 所在的目录。
    • 运行以下命令来添加可执行文件为服务,例如将 Nginx 添加为服务:
      nssm install Nginx
      
    • 在弹出的窗口中配置服务信息:
      • Path: 可执行文件的完整路径(例如:C:\nginx\nginx.exe)。
      • Startup directory: 可执行文件所在的目录。
      • Arguments: 需要传递给可执行文件的参数,例如 -g “daemon off;”。
      • Service name: 服务的名称(例如:Nginx)。
    • 点击 “Install Service” 按钮。
  4. 启动和管理服务:

    • 打开服务管理器(services.msc)。
    • 在列表中找到刚刚添加的服务,右键单击进行操作。

方法三 :使用 WinSW

  1. 下载 WinSW: 前往 WinSW 的 GitHub 仓库(https://github.com/winsw/winsw)下载最新版本的 WinSW。

  2. 配置 WinSW XML 文件:

    • 解压下载的 WinSW 压缩包,找到 winsw.xml 文件。
    • 用文本编辑器打开 winsw.xml 文件。
    • 修改 元素为服务的 ID, 元素为服务的名称, 元素为服务的描述。
    • 在 元素中指定可执行文件的路径。
    • 如果需要,可以配置更多选项,例如 、 等。
  3. 安装服务:

    • 打开命令提示符(以管理员权限运行)。
    • 导航到 WinSW 所在目录。
    • 运行以下命令以安装服务:
      winsw install
      
  4. 启动和管理服务:

    • 使用以下命令启动、停止或重启服务:

      winsw start
      winsw stop
      winsw restart
      
    • 或者在服务管理器中找到刚刚添加的服务,右键单击进行操作。

步骤 3:启动和管理服务

  1. 打开服务管理器(按下 Win + R 键,输入 services.msc,然后按 Enter)。
  2. 在服务列表中,找到刚刚创建的 Nginx 服务。
  3. 右键单击服务,选择启动、停止、重启等操作。

其他:删除服务

  1. 删除 NSSM 添加的服务:
    导航到 NSSM 所在的目录;运行以下命令以删除服务,其中 “ServiceName” 是您要删除的服务名称:
nssm remove ServiceName
  1. 删除 WinSW 添加的服务:
    导航到 WinSW 所在的目录;运行以下命令以删除服务:
winsw uninstall
  1. 删除使用 sc 命令添加的服务:
    运行以下命令以删除服务,其中 “ServiceName” 是您要删除的服务名称:
sc delete ServiceName

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/60834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【校招VIP】前端算法考察之排序

考点介绍: 不同的场景中,不同的排序算法执行效率不同。 稳定:冒泡、插入、归并 不稳定:选择、快速、堆排序、希尔排序 『前端算法考察之排序』相关题目及解析内容可点击文章末尾链接查看! 一、考点题目 1、使用js实…

EOCR-SE2/EOCRSE2在数控技术行业的应用

EOCR-SE2电动机保护器是施耐德EOCR系列中一款以低成本、高性能著称的产品,其广泛应用于各种机床设备中。 EOCRSE2-05RS品牌:施耐德,产地:韩国益山工厂,型号:EOCR-SE2,电流范围:3-30A&#xff0…

工服穿戴检测算法 工装穿戴识别算法

工服穿戴检测算法 工装穿戴识别算法利用yolo网络模型图像识别技术,工服穿戴检测算法 工装穿戴识别算法可以准确地识别现场人员是否穿戴了正确的工装,包括工作服、安全帽等。一旦检测到未穿戴的情况,将立即发出警报并提示相关人员进行整改。Yo…

SpringBoot工具类—基于定时器完成文件清理功能

直接复制粘贴既可!! import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.File; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneOff…

基于jenkins自动化部署PHP环境

实验环境 操作系统 IP地址 主机名 角色 CentOS7.5 192.168.147.141 git git服务器 CentOS7.5 192.168.147.142 Jenkins git客户端 jenkins服务器 CentOS7.5 192.168.147.143 web web服务器 具体环境配置见上一篇! 准备git仓库 [rootgit ~]# su -…

Leetcode.100 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 代码如下:…

DNS原理

文章目录 一、域名产生背景域名的树形层次化结构 二、定义三、DNS查询模式递归查询迭代查询 四、主机域名解析工作流程五、H3C配置DNS代理 首先可以看下思维导图,以便更好的理解接下来的内容。 一、域名 产生背景 在互联网中,通过IP地址访问目标主机…

固定资产管理措施怎么写

固定资产管理措施是指企业在进行固定资产管理时所采取的各种措施和方法。以下是一些常见的固定资产管理措施:  建立完善的固定资产管理制度。制定明确的资产采购、使用、维护、报废等流程和标准,确保资产管理的规范性和透明度。  采用先进的资产管理…

Redis 10 大数据类型

1. which 10 1. redis字符串 2. redis 列表 3. redis哈希表 4. redis集合 5. redis有序集合 6. redis地理空间 7. redis基数统计 8. redis位图 9. redis位域 10. redis流 2. 获取redis常见操作指令 官网英文:https://redis.io/commands 官网中文:https:/…

git difftool对比差异,避免推送不相关内容

问题 在利用git进行版本管理的时候,经常会由于对其他不相关的代码,做了一些小改动,例如删除了一个空行,多了一个缩进等。 为避免将这些不相关的改动也提交到远程,对PR造成不必要的影响,可以利用git diff命…

DolphinDB 携手白鲸开源 WhaleStudio 打造高效敏捷的 DataOps 解决方案

浙江智臾科技有限公司(简称:DolphinDB)和北京白鲸开源科技有限公司(简称:白鲸开源)是在大数据技术领域活跃的两支专业团队。 DolphinDB 专注于为用户提供集高性能存储、复杂分析能力和流处理于一体的实时计…

【区块链 | IPFS】浅谈 | IPFS数据存储原理

IPFS在数据存储方面采用的是分散式的文件存储,区别于HTTP协议的位置寻址,IPFS是基于内容寻址,当文件上传到IPFS节点存储时,节点会对文件进行Merkle DAG(默克尔有向无环图)的格式组织分块存储,在存储完毕后,文件将以Merkle DAG的根哈希数来表示该文件,用户可以从IPFS构…

在腾讯云服务器OpenCLoudOS系统中安装svn(有图详解)

1. 安装svn yum -y install subversion 安装成功: 2. 创建数据根目录及仓库 mkdir -p /usr/local/svn/svnrepository 创建test仓库: svnadmin create /usr/local/svn/test test仓库创建成功: 3. 修改配置test仓库 cd /usr/local/svn/te…

ssm+vue校园活动管理平台源码和论文

ssmvue校园活动管理平台源码和论文090 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 使用旧方法对校园活动信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在校园活动信…

【Python自学笔记】Python好用的模块收集(持续更新...)

文章目录 日志模块钉钉机器人命令助手持续更新中,如果您有其他实用好用的模块欢迎留言...日志模块 写代码离不开日志,自定义一个理想的日志对于小白来说可能是一件很反锁的事情,就像我刚学习Python的时候自己写的一个自定义日志,为了解决这个痛点,今天就和大家分享一个可以…

基于硬件隔离增强risc-v调试安全1_问题描述

安全之安全(security)博客目录导读 2023 RISC-V中国峰会 安全相关议题汇总 说明:本文参考RISC-V 2023中国峰会如下议题,版权归原作者所有。

深入理解AMBA总线协议(AXI总结篇)

AXI总线已经是AMBA总线中最常见,使用最频繁的总线,并且没有之一。 可以说AXI总线已经成为了片上总线中最重要的协议,本篇文章打算花一些篇幅,帮大家总结一下AXI总线的学习重点、学习难点,以帮助大家更好更快的掌握AXI…

WevSocket(java基于注解实现)

一、概述 本文基于spring-boot-starter-websocket简单的完成收发信息功能,使用注解形式进行实现。 二、相关配置 spring:2.0.2,jdk:1.8.202,maven:3.3.9 因为spring和maven有版本匹配的要求,请大家注意自己的版本是否匹配 三…

IDEA使用Docker插件

修改Docker配置 1.执行命令vim /usr/lib/systemd/system/docker.service,在ExecStart配置的后面追加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock -H tcp://0.0.0.0:…

如何将电子画册生成二维码,扫码查看产品图册?

随着移动互联网的发展,二维码已经成为了人们生活中不可或缺的一部分。无论是支付宝、微信支付的扫码支付,还是商家的促销活动、产品包装上的二维码,都展示了二维码的广泛应用。 电子画册也果不其然,它也可以生成二维码&#xff0c…