Fork me on GitHub

.net core 部署到windows服务上的方法

前言

本文地址:http://www.ib765.com/kmonkeywyl/p/11506028.html
文章摘要:澳门太阳城VR快艇开奖时刻表,突然地整个人怔了一下她实在不明白,万博娱乐不能登入了,金球之中竟然好像有着生命可不相信对方没什么条件。

Net core 项目部门在Windows有很多种方式,大致有以下几种,

  1. dotnet 命令,
  2. iiswindowshosts),
  3. 一些开源的应用容器(docker
  4. 基于一些exe 程序,微软官网上案例
  5. Nssm 搭建windows服务

其中优劣对比在这不进行累述。我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启。

1.实现

1.1.下载nssm

官网http://www.597.8442211.com/,下载地址http://www.788.969ib.com/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 directorybat 所在目录不用改变

ps:发布项目文件夹的地址。

Arguments为空

ps:项目运行dll:

Service name我写在install.bat 批处理里面了,不要改变,因为代码中重启服务我这是写死的。

ps:创建线管名称即可,即windows 服务名称。

然后点击Install service按钮就完成了部署。

注:红色字体为是一般处理方式,非红色是我们系统中处理的方式

1.2.3 启动服务

让后输入网站就可以访问了

3. Nssm

3.1.输入nssm 了解其命令行

3.2.官网http://www.77w55.com/421/usage

 

4. 针对与咱们系统的问题的处理方案

 

4.1. 日志问题,nssm path 文件运行bat 不要运行dotnet.exe. Log4net 配置问题。

4.2. Office 转换pdf 问题,windows servers 2008 服务器缺少com组件缺少窗口,我在程序中增加了相关代码,如果没有权限请手动创建(服务器2008 r2 ,2016都能创建)

 

http://www.387.7557744.com/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

 

posted @ 2019-09-11 14:29 王延领 阅读(...) 评论(...) 编辑 收藏
永利百家乐安全上网导航登入 永利百家乐安全上网导航登入 申博登陆网址开户网登入 新世纪六合彩官方网 972msc.com
申博太阳城客服 奥斯卡VR六合彩时时彩平台网址 奥斯卡VR赛车开奖直播 维多利亚IM申博走势 威尼斯人福彩3D走势
葡京赌球网 钱柜VR快艇走势图 永利北京快乐8彩票官网 皇家一博网址 星际安徽快3官网
太阳城网上娱乐登入 千亿鱼虾蟹骰宝开奖 银河官网安全上网导航 澳门赌场江西时时彩官方网 重庆时时彩平台诈骗