Net core 項目部門在Windows有很多種方式,大致有以下幾種,

dotnet 命令,
iis(windowshosts),
一些開源的應用容器(docker )
基于一些exe 程" />

.net core部署到windows服務上的完整步驟

 更新時間:2020-01-15 16:00:30   作者:佚名   我要評論(0)

前言


Net core 項目部門在Windows有很多種方式,大致有以下幾種,

dotnet 命令,
iis(windowshosts),
一些開源的應用容器(docker )
基于一些exe 程

前言

Net core 項目部門在Windows有很多種方式,大致有以下幾種,

  1. dotnet 命令,
  2. iis(windowshosts),
  3. 一些開源的應用容器(docker )
  4. 基于一些exe 程序,微軟官網上案例
  5. 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都能創建)

System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel 不能訪問文件“D:\Benz\Daimler\Benz.Win\LSHBizPlanFigure.xls”。 可能的原因有:

? 文件名稱或路徑不存在。
? 文件正被其他程序使用。
? 您正要保存的工作簿與當前打開的工作簿同名。

此問題的出現 我十分不解。

解決方案 也十分疑惑

This solution is ...

?Windows 2008 Server x64
Please make this folder.

C:\Windows\SysWOW64\config\systemprofile\Desktop

?Windows 2008 Server x86

Please make this folder.

C:\Windows\System32\config\systemprofile\Desktop

...instead of dcomcnfg.exe.

This operation took away office automation problems in my system.

A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.

It disappears from Windows2008, Windows2003 had the folder,
and I think it cause this error.

即在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目錄下創建名為Desktop目錄即可解決問題

該方法確實解決了我的問題

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:

  • win10下ASP.NET Core部署環境搭建步驟
  • 在IIS上部署ASP.NET Core項目的圖文方法
  • 如何在ASP.NET Core應用程序運行Vue并且部署在IIS上詳解
  • ASP.NET Core 1.0 部署 HTTPS(.NET Core 1.0)
  • 詳解ASP.NET Core Docker部署
  • 詳解Asp.Net Core 發布和部署( MacOS + Linux + Nginx )
  • Asp.net Core 初探(發布和部署Linux)
  • Linux下部署.net core環境的步驟詳解
  • Centos7+Docker+Jenkins+ASP.NET Core 2.0自動化發布與部署的實現
  • .Net Core部署到CentOS的圖文教程

相關文章

  • .net core部署到windows服務上的完整步驟

    .net core部署到windows服務上的完整步驟

    前言 Net core 項目部門在Windows有很多種方式,大致有以下幾種, dotnet 命令, iis(windowshosts), 一些開源的應用容器(docker ) 基于一些exe 程
    2020-01-15
  • .NET Core 微信小程序退款步驟——(統一退款)

    .NET Core 微信小程序退款步驟——(統一退款)

    繼上一篇".NET Core 微信小程序支付——(統一下單)后",本文將實現統一退款功能,能支付就應該能退款嘛,一般涉及到錢的東西都會比較敏感,所以在設計退款流程時一
    2020-01-15
  • .NET core 3.0如何使用Jwt保護api詳解

    .NET core 3.0如何使用Jwt保護api詳解

    摘要: 本文演示如何向有效用戶提供jwt,以及如何在webapi中使用該token通過JwtBearerMiddleware中間件對用戶進行身份認證。 認證和授權區別? 首先我們要弄清楚認證
    2020-01-15
  • .Net Core下HTTP請求IHttpClientFactory示例詳解

    .Net Core下HTTP請求IHttpClientFactory示例詳解

    使用方式 IHttpClientFactory有四種模式: 基本用法 命名客戶端 類型化客戶端 生成的客戶端 基本用法 在 Startup.ConfigureServices 方法中,通過在
    2020-01-15
  • .net core webapi通過中間件獲取請求和響應內容的方法

    .net core webapi通過中間件獲取請求和響應內容的方法

    本文主要根據中間件來實現對.net core webapi中產生的請求和響應數據進行獲取并存入日志文件中; 這里不詳細介紹日志文件的使用。你可以自己接入NLog,log4net,Exce
    2020-01-15
  • VS2019以及MFC的安裝詳細教程

    VS2019以及MFC的安裝詳細教程

    本文為大家分享了VS2019以及MFC的安裝詳細教程,供大家參考,具體內容如下 一、安裝過程: 1、搜索visual studio 進入官網。 2、選擇community 2019下載。 3、現在
    2020-01-15
  • asp.net core razor自定義taghelper的方法

    asp.net core razor自定義taghelper的方法

    又一個新的名詞(taghelper),通過taghelper是可以操作html標簽、條件輸出、更是自由添加內外元素。當然也內置了挺多的asp-開頭的taghelper。 下面文章中也簡單的帶大
    2020-01-15
  • NET Core 3.0 AutoFac內置DI替換的新姿勢分享

    NET Core 3.0 AutoFac內置DI替換的新姿勢分享

    .NET Core 3.0 和 以往版本不同,替換AutoFac服務的方式有了一定的變化,在嘗試著升級項目的時候出現了一些問題。 原來在NET Core 2.1時候,AutoFac返回一個 IServi
    2020-01-15
  • .Net中MoongoDB的簡單調用圖文教程

    .Net中MoongoDB的簡單調用圖文教程

    前言 本文主要給大家介紹了關于.Net中MoongoDB調用的方法,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧 方法如下: 1、安裝.Net 驅動:Install
    2020-01-15
  • VS2019下opencv4.1.2配置圖文教程(永久配置)

    VS2019下opencv4.1.2配置圖文教程(永久配置)

    關于VS2019的安裝可參考:VS2019以及MFC的安裝詳細教程 一、使用VS2019創建控制臺工程(舉例,其他同理),并打開視圖中的屬性管理器,如圖。 二、在屬性管理器下,
    2020-01-15

最新評論

老快3投注技巧