使用nssm.exe发布服务

本文以.NET为例编写一个后台mqtt服务器,利用nssm.exe及批处理文件自动发布为服务运行。
代码实例:

builder.Services.AddHostedMqttServer(optionsBuilder =>
{
    optionsBuilder.WithDefaultEndpoint();
    optionsBuilder.WithConnectionValidator(context =>
    {
        if (context.Username != AppSettings.user_mqtt || context.Password != AppSettings.pwd_mqtt)
        {
            context.ReasonCode = MQTTnet.Protocol.MqttConnectReasonCode.BadUserNameOrPassword;
        }
        else
        {
            context.ReasonCode = MQTTnet.Protocol.MqttConnectReasonCode.Success;
        }
    });
});

builder.Services.AddMqttConnectionHandler();
builder.Services.AddMqttWebSocketServerAdapter();  // 添加 WebSocket 适配器
builder.Services.AddConnections();
//服务端启用mqtt

项目名称:

Server_mqtt_test

批处理文件:

stop.bat
// net stop Server_mqtt_test
// pause

reStart.bat
// net stop Server_mqtt_test
// net start Server_mqtt_test
// pause

install.bat
// nssm install Server_mqtt_test
// net start Server_mqtt_test
// pause

unInstall.bat
// net stop Server_mqtt_test
// sc delete  Server_mqtt_test
// pause

将以上批处理文件及nssm.exe文件置入项目Server_mqtt_test中,并设置属性为始终覆盖,从而在发布时会将文件合并到发布文件中(nssm.exe已添加到资源绑定中,可下载使用),发布文件如下图所示:
发布的文件
nssm.exe文件
我们找到nssm.exe文件,双击打开会出现如下提示:
nssm错误提示
此时我们需要运行事先定义好的批处理文件install.bat,找到install.bat文件双击打开会弹出nssm.exe主界面,如下图所示:
nssm.exe主界面
在路径一栏选择需要安装服务的项目名称,如下图所示:
安装服务
最后点击【安装服务】即可完成。
安装完毕后可以在操作系统进行查看服务是否成功运行,如下图所示:
安装的服务
最后可以使用卸载批处理文件对服务进行卸载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值