Windows下将nginx等可执行文件添加为服务
Windows下将nginx等可执行文件添加为服务
- 为什么将可执行文件添加为服务?
- 将可执行文件添加为服务的步骤
- 步骤 1:下载和安装 Nginx
- 步骤 2:添加为服务
- 方法一:使用 Windows 自带的 sc 命令
- 方法二:使用 NSSM(Non-Sucking Service Manager)
- 方法三 :使用 WinSW
- 步骤 3:启动和管理服务
- 其他:删除服务
为什么将可执行文件添加为服务?
将可执行文件添加为服务有以下几个优势:
- 自动启动: 可以在系统启动时自动启动这些服务,无需手动干预。
- 稳定性: 以服务方式运行的应用程序通常会更稳定,因为它们在独立的进程中运行,不受用户登录状态的影响。
- 后台运行: 服务以后台方式运行,不会占用用户界面的空间,适合服务器环境。
- 远程管理: 可以通过服务管理工具轻松管理和监控这些服务。
将可执行文件添加为服务的步骤
这里我们使用Nginx作为一个例子,其他的可执行文件都是同理。
步骤 1:下载和安装 Nginx
前往 Nginx 官方网站下载 Windows 版本的 Nginx 可执行文件。
解压下载的文件到一个目录,例如 C:\nginx\。
步骤 2:添加为服务
方法一:使用 Windows 自带的 sc 命令
-
打开命令提示符(以管理员权限运行)。
-
使用以下命令将 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 表示在系统启动时自动启动服务。
- 以下是 sc 命令的详细参数配置说明:
sc create [ServiceName] binPath= "[ExecutablePath] [Options]" DisplayName= "[DisplayName]" start= [StartType]
ServiceName
: 指定服务的名称,这是您在后续管理服务时需要使用的标识符。binPath
: 指定可执行文件的完整路径,包括执行文件本身和可能的命令行参数。Options
: 如果您的可执行文件需要附加命令行参数以正确运行,可以在这里指定。DisplayName
: 指定服务的显示名称,这是在服务管理器中显示的名称。StartType
: 指定服务的启动类型,有以下选项:- auto: 在系统启动时自动启动服务。
- demand: 仅在手动请求时启动服务(默认值)。
- disabled: 禁用服务,不会自动启动。
方法二:使用 NSSM(Non-Sucking Service Manager)
-
下载 NSSM: 前往 NSSM 官方网站(https://nssm.cc/)下载最新版本的 NSSM 工具。
-
安装 NSSM: 将下载的 NSSM 压缩包解压到一个文件夹中。
-
添加服务:
- 打开命令提示符(以管理员权限运行)。
- 导航到 NSSM 所在的目录。
- 运行以下命令来添加可执行文件为服务,例如将 Nginx 添加为服务:
nssm install Nginx
- 在弹出的窗口中配置服务信息:
- Path: 可执行文件的完整路径(例如:C:\nginx\nginx.exe)。
- Startup directory: 可执行文件所在的目录。
- Arguments: 需要传递给可执行文件的参数,例如 -g “daemon off;”。
- Service name: 服务的名称(例如:Nginx)。
- 点击 “Install Service” 按钮。
-
启动和管理服务:
- 打开服务管理器(services.msc)。
- 在列表中找到刚刚添加的服务,右键单击进行操作。
方法三 :使用 WinSW
-
下载 WinSW: 前往 WinSW 的 GitHub 仓库(https://github.com/winsw/winsw)下载最新版本的 WinSW。
-
配置 WinSW XML 文件:
- 解压下载的 WinSW 压缩包,找到 winsw.xml 文件。
- 用文本编辑器打开 winsw.xml 文件。
- 修改 元素为服务的 ID, 元素为服务的名称, 元素为服务的描述。
- 在 元素中指定可执行文件的路径。
- 如果需要,可以配置更多选项,例如 、 等。
-
安装服务:
- 打开命令提示符(以管理员权限运行)。
- 导航到 WinSW 所在目录。
- 运行以下命令以安装服务:
winsw install
-
启动和管理服务:
-
使用以下命令启动、停止或重启服务:
winsw start winsw stop winsw restart
-
或者在服务管理器中找到刚刚添加的服务,右键单击进行操作。
-
步骤 3:启动和管理服务
- 打开服务管理器(按下 Win + R 键,输入 services.msc,然后按 Enter)。
- 在服务列表中,找到刚刚创建的 Nginx 服务。
- 右键单击服务,选择启动、停止、重启等操作。
其他:删除服务
- 删除 NSSM 添加的服务:
导航到 NSSM 所在的目录;运行以下命令以删除服务,其中 “ServiceName” 是您要删除的服务名称:
nssm remove ServiceName
- 删除 WinSW 添加的服务:
导航到 WinSW 所在的目录;运行以下命令以删除服务:
winsw uninstall
- 删除使用 sc 命令添加的服务:
运行以下命令以删除服务,其中 “ServiceName” 是您要删除的服务名称:
sc delete ServiceName
相关文章:

Windows下将nginx等可执行文件添加为服务
Windows下将nginx等可执行文件添加为服务 为什么将可执行文件添加为服务?将可执行文件添加为服务的步骤步骤 1:下载和安装 Nginx步骤 2:添加为服务方法一:使用 Windows 自带的 sc 命令方法二:使用 NSSM(Non…...
视觉SLAM14讲笔记-第4讲-李群与李代数
李代数的引出: 在优化问题中去解一个旋转矩阵,可能会有一些阻碍,因为它对加法导数不是很友好(旋转矩阵加上一个微小偏移量可能就不是一个旋转矩阵),因为旋转矩阵本身还有一些约束条件,那样再求…...

浅析Redis(1)
一.Redis的含义 Redis可以用来作数据库,缓存,流引擎,消息队列。redis只有在分布式系统中才能充分的发挥作用,如果是单机程序,直接通过变量来存储数据是更优的选择。那我们知道进程之间是有隔离性的,那么re…...
【每日一题】2337. 移动片段得到字符串
【每日一题】2337. 移动片段得到字符串 2337. 移动片段得到字符串题目描述解题思路 2337. 移动片段得到字符串 题目描述 给你两个字符串 start 和 target ,长度均为 n 。每个字符串 仅 由字符 ‘L’、‘R’ 和 ‘_’ 组成,其中: 字符 ‘L’…...

MySQL 数据库常用命令大全(详细)
文章目录 1. MySQL命令2. MySQL基础命令3. MySQL命令简介4. MySQL常用命令4.1 MySQL准备篇4.1.1 启动和停止MySQL服务4.1.2 修改MySQL账户密码4.1.3 MySQL的登陆和退出4.1.4 查看MySQL版本 4.2 DDL篇(数据定义)4.2.1 查询数据库4.2.2 创建数据库4.2.3 使…...

中国移动加大布局长三角,打造算力产业新高地
8月27日,以“数实融合算启未来”为主题的2023长三角算力发展大会在苏州举办,大会启动了长三角算力调度枢纽,携手各界推动算力产业高质量发展。 会上,移动云作为第一批算力资源提供方,与苏州市公共算力服务平台签订算力…...
话费、加油卡、视频会员等充值接口如何对接?
现在很多商家企业等发现与用户保持粘性是越来越难了,大多数的用户活跃度都很差,到底该怎么做才能改善这种情况呢? 那么我们需要做的就是投其所好,在与用户保持粘性的app或者积分商城中投入大家感兴趣的物品或者虚拟产品ÿ…...
服务器重启MongoDB无法启动
文章目录 服务器重启MongoDB无法启动背景规划实施 总结 服务器重启MongoDB无法启动 背景 数据库服务器的CPU接近告警值了,需要添加CPU资源,于是乎就在恰当的时间对服务器进行关机,待添加完资源后开机,这样就完成了CPU资源的添加…...

深度刨析数据在内存中的存储
✨博客主页:小钱编程成长记 🎈博客专栏:进阶C语言 深度刨析数据在内存中的存储 1.数据类型介绍1.1 类型的基本归类 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍 3.浮点型在内存中的存储3.1 一个例子3.2 浮点数的存储规则3.3指数…...

理解FPGA中的亚稳态
一、前言 大家应该经常能听说到亚稳态这个词,亚稳态主要是指触发器的输出在一段时间内不能达到一个确定的状态,过了这段时间触发器的输出随机选择输出0/1,这是我们在设计时需要避免的。本文主要讲述了FPGA中的亚稳态问题,可以帮助…...

Leetcode86. 分隔链表
给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台…...
如何处理 Flink 作业中的数据倾斜问题?
分析&回答 什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。 举例:一个 Flink 作业包含 200 个 Task 节点,其中有 199 个节点可以在很短的时间内完成计算。但是有一个节点执行时间…...

cobbler自动化安装CentOS、windows和ubuntu
环境介绍 同时玩cobbler3.3和cobbler2.8.5 cobbler3.3 系统CentOS8.3 VMware虚拟机 桥接到物理网络 IP: 192.168.1.33 cobbler2.8.5 系统CentOS7.9 VMWare虚拟机 桥接到物理网络 IP:192.168.1.33 安装cobbler3.3 yum源修改 cat /etc/yum.repo.d/Cento…...

springcloud3 GateWay章节-Nacos+gateway动态路由负载均衡4
一 工程结构 1.1 工程 1.2 搭建gatewayapi工程 1.pom文件 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13</version><scope>test</scope></dependency><!--gateway--&g…...

RESTful API 面试必问
RESTful API是一种基于 HTTP 协议的 API 设计风格,它提供了一组规范和约束,使得客户端(如 Web 应用程序、移动应用等)和服务端之间的通信更加清晰、简洁和易于理解。 RESTful API 的设计原则 使用 HTTP 协议:RESTful …...
软件机器人助力行政审批局优化网约车业务流程,推动审批业务数字化转型
随着社会的进步和发展,行政审批业务逐渐趋向于智能化和自动化。近日,某市行政审批局在市场准入窗口引入博为小帮软件机器人大幅度提升了网约车办理业务的效率,创新了原有的业务模式。 软件机器人以其自动化、智能化的特性,优化了网…...

飞天使-python的字符串转义字符元组字典等
文章目录 基础语法数据类型python的字符串运算符输入和输出 数据结构列表与元组字典与集合 参考文档 基础语法 数据类型 数值型 ,整数 浮点型 布尔型, 真假, 假范围 字符型 类型转换python的字符串 了解转义字符一些基本的运算 \ 比如一行…...
stm32 uart dma方式接收不定长度字符
一般处理: stm32 uart使用dma接收时,会有自己的数据流中断,数据流中断会调用HAL_UART_RxCpltCallback。但是数据流中断只会在HAL_UART_Receive_DMA函数指定的buffer满时才会触发。 接收不定长度字符,需要和uart的UART_IT_IDLE结…...
SciencePub学术 | Elsevier出版社SCIEEI征稿中
SciencePub学术刊源推荐:Elsevier出版社SCIE&EI征稿中!信息如下,录满为止: 一、期刊概况: 计算机科学类SCI-01 【期刊简介】6.5-7.0,JCR1区,中科院2区; 【检索情况】正刊,SC…...

PHP小白搭建Kafka环境以及初步使用rdkafka
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装java(Kafka必须安装java,因为kafka依赖java核心)二、安装以及配置Kafka、zookeeper1.下载Kafka(无需下载…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...

使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...
Oracle实用参考(13)——Oracle for Linux物理DG环境搭建(2)
13.2. Oracle for Linux物理DG环境搭建 Oracle 数据库的DataGuard技术方案,业界也称为DG,其在数据库高可用、容灾及负载分离等方面,都有着非常广泛的应用,对此,前面相关章节已做过较为详尽的讲解,此处不再赘述。 需要说明的是, DG方案又分为物理DG和逻辑DG,两者的搭建…...

使用homeassistant 插件将tasmota 接入到米家
我写一个一个 将本地tasmoat的的设备同通过ha集成到小爱同学的功能,利用了巴法接入小爱的功能,将本地mqtt转发给巴法以实现小爱控制的功能,前提条件。1需要tasmota 设备, 2.在本地搭建了mqtt服务可, 3.搭建了ha 4.在h…...