.net core 部署到windows服务上的方法
前言
Net core 项目部门在Windows有很多种方式,大致有以下几种,
- dotnet 命令,
- iis(windowshosts),
- 一些开源的应用容器(docker )
- 基于一些exe 程序,微软官网上案例
- Nssm 搭建windows服务
其中优劣对比在这不进行累述。我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启。
1.实现
1.1.下载nssm
官网http://www.nssm.cc/,下载地址http://www.nssm.cc/download
1.2.搭建windows 服务
找到文件夹下建立的Install.bat 点击运行弹出操作窗体。
Install.bat内容:
%~d0
cd %~dp0
nssm install NPSWebCoreService
PAUSE

Path:选择系统运行bat----C:\Nps\CoreWeb\1run.bat
ps:因为我们系统中要特殊处理所以直接执行了bat。此内容正常是填写C:\Program Files\dotnet\dotnet.exe. 因为要执行dotnet命令,我这些操作实在bat中执行的。
Startup directory:bat 所在目录不用改变;
ps:发布项目文件夹的地址。
Arguments:为空;
ps:项目运行dll:
Service name:我写在install.bat 批处理里面了,不要改变,因为代码中重启服务我这是写死的。。
ps:创建线管名称即可,即windows 服务名称。
然后点击Install service按钮就完成了部署。
注:红色字体为是一般处理方式,非红色是我们系统中处理的方式
1.2.3 启动服务
让后输入网站就可以访问了


3. Nssm
3.1.输入nssm 了解其命令行
3.2.官网http://www.nssm.cc/usage
4. 针对与咱们系统的问题的处理方案
4.1. 日志问题,nssm 中path 文件运行bat 不要运行dotnet.exe. Log4net 配置问题。
4.2. Office 转换pdf 问题,windows servers 2008 服务器缺少com组件缺少窗口,我在程序中增加了相关代码,如果没有权限请手动创建(服务器2008 r2 ,2016都能创建)
https://blog.csdn.net/wyzlwyzl/article/details/48686483
4.3.数据库备份重启服务问题,改为重启windows服务,所以请用上面的install.bat运行不要,改变Service name。
重启服务代码:
try
{
ServiceController service = new ServiceController("NPSWebCoreService");
if (service.Status == ServiceControllerStatus.Running)
{
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped);
}
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);
}
catch (Exception){}
4.4.netcoreweb要基于mysql 服务问题,担心再启服务器的时候,mysql和windows 服务启动顺序的问题,我在启动bat 中怎么了判断mysql服务是否启动的判断。
bat 内容:
@echo off SETLOCAL enabledelayedexpansion
rem 关闭自动输出
:begin for /f "skip=3 tokens=4" %%i in ('sc query MySQL') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行。
) else (
net start MySQL80
echo 已经发现该服务在运行1。
) rem 接收输入
rem 输出得到的输入信息
echo 启动NPSWebCore dotnet ./NPSWebCore.dll @echo 启动结束
exit
.net core 部署到windows服务上的方法的更多相关文章
- 使用NSSM把.Net Core部署至 Windows 服务
为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了.一般情况下,Asp.net Core会部署 ...
- NSSM把.Net Core部署至 Windows 服务
NSSM把.Net Core部署至 Windows 服务 https://www.cnblogs.com/emrys5/p/nssm-netcore.html 为什么部署至Windows Servic ...
- net core 部署到windows 服务
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...
- NET Core 部署到 Windows服务
https://www.cnblogs.com/linezero/p/5159927.html https://www.cnblogs.com/emrys5/p/nssm-netcore.html h ...
- .net core工具组件系列之Redis—— 第一篇:Windows环境配置Redis(5.x以上版本)以及部署为Windows服务
Cygwin工具编译Redis Redis6.x版本是未编译版本(官方很调皮,所以没办法,咱只好帮他们编译一下了),所以咱们先下载一个Cygwin,用它来对Redis进行编译. Cygwin下载地址: ...
- asp.net core 托管到windows服务,并用iis做反向代理
使用NSSM把.Net Core部署至 Windows 服务 为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...
- .NET Core Generic Host Windows服务部署使用Topshelf
此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue # ...
- 利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务
背景 2019第一篇文章. 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只 ...
- .net core 部署到windows上的方法与 系统中相关问题的解决
前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序, ...
随机推荐
- Struts2导图
- JavaScript事件坐标区别(offset,client,page)
学习笔记. 1. offset:其定位原点是当前元素左上角 2. client:其定位原点是当前窗口左上角 3. page:其定位原点是当前页面左上角 下面来验证一下. 先上代码: <!doct ...
- 一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!
Turtle库手册可以查询查询 python图形绘制库turtle中文开发文档及示例大全,手册中现有示例,不需要自己动手就可以查看演示. 使用Turtle画树,看了一下网上的代码,基本上核心的方法是使 ...
- shiro的使用详解~
在家无聊复习一下shiro 打开了之前的项目,由于lombok插件安装不了,不知道idea抽什么风所以get,set方法报错了,将就一下 只看shiro的使用,配置在shiro分类中有 登录方法 pa ...
- springmvc-初次接触
一,mvc做的事情 1,将url映射到java类或者java的方法. 2,封装用户提交的数据 3,处理请求--调用相关的业务处理--封装想相应的数据 4,将相应数据进行渲染,jsp或者html 二,s ...
- Istio 1.6架构及性能
Istio 架构 Istio 服务网格从逻辑上分为数据平面和控制平面. 数据平面 由一组智能代理(Envoy)组成,被部署为 sidecar.这些代理负责协调和控制微服务之间的所有网络通信.他们还收集 ...
- Flink kuduSink开发
1.继承RichSinkFunction (1)首先在构造方式传入kudu的masterAddress地址.默认表名.TableSerializationSchema.KuduTableRowConv ...
- Eclipse中java文件选中变量名,相同变量都变色显示 .
第一步设置高亮显示的颜色: Window-->preferences-->General-->Editors-->Text Editors-->Annotations-- ...
- 用python编写测试脚本
def f(n): """ >>>f(1) 1用例 >>>f(2) 2用例 ...... >>>f(n) n用例 & ...
- Golang基础教程——map使用篇
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题的第7篇文章,我们来聊聊golang当中map的用法. map这个数据结构我们经常使用,存储的是key-value的键 ...