.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上的方法与 系统中相关问题的解决的更多相关文章
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
ASP.NET Boilerplate 学习 1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...
- 使用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 ...
- PowerShell因为在此系统中禁止执行脚本解决方法
PowerShell因为在此系统中禁止执行脚本解决方法 在Powershell直接脚本时会出现: 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 " ...
- .net core 部署到windows服务上的方法
前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序, ...
- 同“窗”的较量:部署在 Windows 上的 .NET Core 版博客站点发布上线
为了验证 docker swarm 在高并发下的性能问题,周一我们发布了使用 docker-compose 部署的 .net core 版博客站点(博文链接),但由于有1行代码请求后端 web api ...
- .net core部署在iis上
部署在Windows Server 2008 R2上,一直安装失败,网上找的资料一直无法解决问题,后来找到了官方的文档, 原来是要安装sp1,大概2g左右,同时也要安装Microsoft Visual ...
- 一文讲通.NET Core部署到Windows IIS最全解决方案
回顾之前的ASP.NET的经典托管 在经典ASP.NET应用程序中,所有一切都托管在IIS工作进程中(w3wp.exe),这也被称为IIS应用程序池.ASP.NET程序被托管在应用程序池中,并且被按照 ...
- 解决Activiti5.22流程图部署在Windows上正常,但在linux上部署后出现中文变方块的问题
总结/朱季谦 楼主最近在做公司的工作流平台,发现一个很无语的事情,Activiti5.22的流程图在Windows环境上部署,是可以正常查看的,但发布到公司的Linux服务器上后,在上面进行流程图在线 ...
随机推荐
- 解决报错:类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用
Razor视图引擎中,使用部分视图编译报错 类型“System.Object”在未被引用的程序集中定义.必须添加对程序集“System.Runtime, Version=4.0.0.0, Cultur ...
- Hadoop 系列(七)—— HDFS Java API
一. 简介 想要使用 HDFS API,需要导入依赖 hadoop-client.如果是 CDH 版本的 Hadoop,还需要额外指明其仓库地址: <?xml version="1.0 ...
- Qt基于sqlite数据库的管理小软件
闲来无事,写了一个基于sqlite的数据库管理小软件. 先上图 中心思想就是: 创建一个数据库 然后每一个分组对应一个数据表 然后遍历该数据表.将名字以treewidgetItem显示出来.添加删除实 ...
- Oracle GoldenGate mysql To Kafka上车记录
一.前言 首先要学习一下ogg的所有进程,看着这张图来学习 Manager进程是GoldenGate的控制进程,运行在源端和目标端上.它主要作用有以下几个方面:启动.监控.重启Goldengate ...
- Zookeeper的命令行操作(三)
Zookeeper的命令行操作 1. ZooKeeper服务命令 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务: sh bin/zkSer ...
- 【C/C++】随机数的生成
C/C++:rand()函数 rand()函数的头文件:#include<stdlib.h> 该函数产生的随机数随机性差,速度慢,周期小(0-32767) 用法如下所示: #include ...
- 转载 | CSS图片下面产生间隙的 6种解决方案
在进行页面的DIV+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对於 该问题的解决方法也是「见机行事」,根据原因的不同要用不同的 ...
- android ——Toolbar
Toolbar是我看material design内容的第一个 官方文档:https://developer.android.com/reference/android/support/v7/widg ...
- 如何调教你的博客Episode1——修改整体样式
如图所示,这是你刚刚注册的博客园博客,让我们开始一步步修改它. 1.写入自适应代码 html,body{ height:100%; border:; margin:; padding:; } body ...
- Angular生命周期理解
Angular每个组件,包含根组件和每一级的子组件,都存在一个生命周期,从创建,变更到销毁.Angular提供组件生命周期钩子,把这些关键时刻暴露出来,赋予在这些关键结点和组件进行交互的能力. 在An ...