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

news2024/12/25 9:07:12

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.coloradmin.cn/o/954186.html

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

相关文章

[Go版]算法通关村第十六关青铜——原来滑动窗口如此简单

目录 应用了滑动窗口思想的示例滑动窗口的基本思想两个入门题题目:子数组最大平均数思路分析:计算滑动窗口值总和为 right -left复杂度:时间复杂度 O ( n ) O(n) O(n)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目:最长连续递增序列…

unity 物体至视图中心以及新对象创建位置

如果游戏对象不在视野中心或在视野之外, 一种方法是双击Hierarchy中的对象名称 另一种是选中后按F 新建物体时对象的位置不是在坐标原点,而是在当前屏幕的中心

【Android】SDK安装及配置

一、下载SDK Tools https://www.androiddevtools.cn 以windows10系统为例,下载压缩版直接解压即可。 二、安装SDK Tools 解压后双击运行SDK Manager.exe 一般根据默认推荐安装即可。 如果无法打开SDK Manager,可以参考:https://blog.cs…

【Ubuntu】解决ubuntu虚拟机和物理机之间复制粘贴问题(无需桌面工具)

解决Ubuntu虚拟机和物理机之间复制粘贴问题 第一步 先删除原来的vmware tools(如果有的话) sudo apt-get autoremove open-vm-tools第二步 安装软件包,一般都是用的desktop版本(如果是server换一下) sudo apt-get …

视频云存储/安防监控视频/智能分析网关V3裸土未覆盖/苫盖算法功能详解

随着经济的发展和建筑工地的增多,对于土堆的裸露情况实时监测和管理变得尤为重要。为了解决这一问题,TSINGSEEE青犀AI智能分析网关V3的裸土未苫盖算法就能很好地解决。 AI算法模型可以实时识别路面/建筑工地中的土堆是否裸露,将工地、道路等…

Erasure-Code(纠删码) 最佳实践

Erasure-Code(纠删码) 最佳实践 1. 纠删码原理 这个星球产生的数据越来越庞大,差不多2010年开始各大互联网公司大都上线了系统以应对数据膨胀带来的成本增长。Erasure-Code(纠删码)技术应用其中。典型如Google 新一代分布式存储系统colossu…

一种借助MYSQL递归CTE生成所有的组合情况的实现方法

需求说明 有如下表和数据: Nname1户口2查询机构数过多3危险驾驶4多头用信 需要输出name里的所有组合情况,即单个值,两两组合,三个组合、四个组合。结果为2的n次方-1中情况,这里是15。 预期结果为: Com…

DP358 11MHz 增益带宽轨到轨输出运算放大器

DP358、DP321、DP323、DP324是一款低噪声、低压、低 功耗轨到轨输出运放大器,该系列放大器的增益带宽为 11MHz,压摆率为 8.5V/uS,其中DP323 在掉电工作模式下待机电流小于1uA。该系列放大器可以广泛应用于各种电子产品领域。 主要特性: 轨到轨最大输入输出失调电压…

国标GB28181视频监控EasyGBS国标视频平台分享链接不生效的问题解决方案

EasyGBS平台可提供流媒体接入、处理、转发等服务,支持内网、公网的监控设备通过国标GB/T28181协议进行视频监控直播。平台可拓展性强,部署灵活,可实现的视频能力有:实时直播、视频录像、语音对讲、云存储、检索及回放、告警、级联…

【OpenCV入门】第三部分——绘制图形与文字

文章结构 线段的绘制矩形的绘制圆形的绘制多边形的绘制文字的绘制文字的斜体效果文字的垂直镜像效果在图像上绘制文字 动态绘制图形 线段的绘制 使用 line() 方法可绘制长短不一的、粗细各异的、五颜六色的线段。 img cv2.line(img,pt1,pt2,color,thickness)img:…

苹果使用3D打印技术制造Apple Watch Series 9手表外壳

据彭博社的马克・古尔曼报道,苹果公司正在使用 3D 打印技术来制造即将推出的部分Apple Watch Series 9 的外壳。这种制造工艺可以节省传统数控加工所需的大量金属材料,同时缩短生产时间。这与之前苹果分析师郭明錤的说法相吻合。 苹果公司自2021年推出Ai…

【三等奖方案】小样本数据分类任务赛题「痛!太痛了!」团队解题思路

第十届CCF大数据与计算智能大赛(2022 CCF BDCI)已圆满结束。大赛官方竞赛平台DataFountain(简称DF平台)将陆续释出各赛题获奖队伍的方案思路。 本方案为【小样本数据分类任务】赛题的三等奖获奖方案,赛题地址&#xf…

亚马逊自动广告如何投放?这些技巧你了解嘛!

现如今,亚马逊店铺为了能够提升产品的转化率,为了增加产品曝光率,会选择投放站内广告,现在大多数的亚马逊店铺都有在站内投放广告,不然的话要想获取到自然流量实在是太难了。 很多没有投放站内广告的亚马逊店铺&#…

【数据结构】C语言队列(详解)

前言: 💥🎈个人主页:​​​​​​Dream_Chaser~ 🎈💥 ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现队列 目录 一.队列概念及结构 1.1队列的概念 1.2队列的结构 二.队列的实现 2.1头文…

Mybatis 里面的缓存机制

Mybatis 里面设计的二级缓存是用来提升数据的检索效率,避免每次数据的访问都需要去查询数据库。 一级缓存,是 SqlSession 级别的缓存,也叫本地缓存,因为每个用户在执行查询的时 候都需要使用 SqlSession 来执行, 为了避…

案例分享:西河水库安全监测信息化系统实施方案

一、项目概述1.1项目背景西河水库信息化工作已开展多年,但是由于西河水库监测设备都已经老化或者损坏,现有设备已渐渐不能满足新时期西河水库信息化和现代化发展需求。因此,灌区管理局拟在运用现代信息和通信技术手段感测、分析、整合水库运行…

【Git】(六)子模块跟随主仓库切换分支

场景 主仓库:TestGit 子模块:SubModule 分支v1.0 .gitmodules文件 [submodule "Library/SubModule"]path Library/SubModuleurl gitgitee.com:sunriver2000/SubModule.gitbranch 1.0.0.0 分支v2.0 .gitmodules文件 [submodule "Li…

Mapbox-gl 关闭所有Popup,以及关闭按钮出现黑色边框bug

1.官方示例 var popup new mapboxgl.Popup().addTo(map);popup.remove(); 很明显,需要记录popup对象,管理起来比较麻烦。 2.本人采用div的方式关闭所有的popup,在map对象上新增加方法 map.closePopupmapView.popupClear function(){$(&q…

Idea中使用Statistic插件统计工程项目代码量

1. 功能背景 公司要对一个项目进行代码统计,这么多类,总不能让我一个一个数据,于是想到了Statistic插件。让我们一起看看Statistic插件怎么使用吧。 2. Statistic插件 首先需要知道Idea统计项目代码行数,主要是使用Statistic插…