<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      前言

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

      * dotnet 命令,
      * iis(windowshosts),
      * 一些開源的應(yīng)用容器(docker )
      * 基于一些exe 程序,微軟官網(wǎng)上案例
      * Nssm 搭建windows服務(wù)
      其中優(yōu)劣對比在這不進(jìn)行累述。我今天是把它搭建到windows服務(wù)上的,這種方式對于我們現(xiàn)有dotnet
      來說相對美觀(一個黑框框,一個看不到),電腦重啟可以自動重啟。

      1.實現(xiàn)

      1.1.下載nssm

      官網(wǎng)http://www.nssm.cc/ <http://www.nssm.cc/>,下載地址http://www.nssm.cc/download
      <http://www.nssm.cc/download>?

      1.2.搭建windows 服務(wù)

      ?

      找到文件夾下建立的Install.bat 點(diǎn)擊運(yùn)行彈出操作窗體。

      Install.bat內(nèi)容:

      %~d0 cd %~dp0 nssm install NPSWebCoreService PAUSE


      Path:選擇系統(tǒng)運(yùn)行bat----C:\Nps\CoreWeb\1run.bat

      ps:因為我們系統(tǒng)中要特殊處理所以直接執(zhí)行了bat。此內(nèi)容正常是填寫C:\Program Files\dotnet\dotnet.exe.
      因為要執(zhí)行dotnet命令,我這些操作實在bat中執(zhí)行的。

      Startup directory:bat 所在目錄不用改變;

      ps:發(fā)布項目文件夾的地址。

      Arguments:為空;

      ps:項目運(yùn)行dll:

      Service name:我寫在install.bat 批處理里面了,不要改變,因為代碼中重啟服務(wù)我這是寫死的。。

      ps:創(chuàng)建線管名稱即可,即windows 服務(wù)名稱。

      然后點(diǎn)擊Install service按鈕就完成了部署。

      注:紅色字體為是一般處理方式,非紅色是我們系統(tǒng)中處理的方式

      1.2.3 啟動服務(wù)

      讓后輸入網(wǎng)站就可以訪問了





      3.?Nssm

      3.1.輸入nssm 了解其命令行

      3.2.官網(wǎng)http://www.nssm.cc/usage <http://www.nssm.cc/usage>

      ?

      4.?針對與咱們系統(tǒng)的問題的處理方案

      ?

      4.1.?日志問題,nssm 中path 文件運(yùn)行bat 不要運(yùn)行dotnet.exe. Log4net 配置問題。

      4.2.?Office 轉(zhuǎn)換pdf 問題,windows servers 2008 服務(wù)器缺少com
      組件缺少窗口,我在程序中增加了相關(guān)代碼,如果沒有權(quán)限請手動創(chuàng)建(服務(wù)器2008 r2 ,2016都能創(chuàng)建)

      ?

      https://blog.csdn.net/wyzlwyzl/article/details/48686483
      <https://blog.csdn.net/wyzlwyzl/article/details/48686483>

      ?

      4.3.數(shù)據(jù)庫備份重啟服務(wù)問題,改為重啟windows服務(wù),所以請用上面的install.bat運(yùn)行不要,改變Service name。

      重啟服務(wù)代碼:
      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 服務(wù)問題,擔(dān)心再啟服務(wù)器的時候,mysql和windows 服務(wù)啟動順序的問題,我在啟動bat
      中怎么了判斷mysql服務(wù)是否啟動的判斷。

      bat 內(nèi)容:
      @echo off SETLOCAL enabledelayedexpansion rem 關(guān)閉自動輸出 :begin for /f "skip=3
      tokens=4" %%i in ('sc query MySQL') do set "zt=%%i" &goto :next :next if /i
      "%zt%"=="RUNNING" ( echo 已經(jīng)發(fā)現(xiàn)該服務(wù)在運(yùn)行。 ) else ( net start MySQL80 echo
      已經(jīng)發(fā)現(xiàn)該服務(wù)在運(yùn)行1。 ) rem 接收輸入 rem 輸出得到的輸入信息 echo 啟動NPSWebCore dotnet ./NPSWebCore.dll
      @echo 啟動結(jié)束 exit
      ?

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          青娱乐91视频免费在线 | 蜜芽AV久久 | 久久婷婷婷 | 金荷娜裸乳无删减版 | 申鹤被到爽高潮痉挛动 | 爆操小护士AV | 色青网站 | 国产精品无码卡一卡二 | 少女たちよ观看动漫的最新进展 | 娇妻被公交换粗又大又硬 |