首页 > 其他分享 >项目发布部署:如何发布.NETCore项目到IIS服务器?

项目发布部署:如何发布.NETCore项目到IIS服务器?

时间:2023-08-15 11:15:10浏览次数:38  
标签:nssm IIS 项目 NETCore 点击 发布 服务器 安装

前言:本文将详细介绍如何发布.NET Core项目到IIS服务器。首先,第一步需要安装IIS,介绍了在本地电脑和服务器中进行安装。然后需要安装SDK和运行时才能发布.NETCore项目。其次介绍了如何发布.NETCore项目和Vue项目,并配置IIS。最后介绍了如何将项目部署到Service服务中。

一、安装IIS教程

1.1-在本地电脑上(Windows)上安装IIS

(1)右击——>点击【显示设置】
image.png
(2)搜索【控制面板】
image.png
(3)点击【程序】
image.png
(4)点击【启动或关闭windows功能】
image.png
(5) 选择Internet Information Service(IIS的缩写)
image.png
image.png

1.2-在服务器上(WindowsServer)上安装IIS

(1)打开【服务器管理器】
image.png
(2)按照以下步骤操作。点击【添加角色和功能】
image.png
(3)点击【下一步】
image.png
(4)在安装类型类目中,选择【基于角色活基于功能的安装】。
image.png
(5)点击【下一步】
image.png
(6)勾选【Web服务器(IIS)】,然后点击【下一步】。image.png
(7)然后点击【下一步】。
image.png
(8)然后点击【安装】,这个过程可能比较长一点,需要等一会安装好。
image.png
(9)安装完毕后,可以在这里看到有IIS了。
image.png


二、在服务器上安装SDK和运行时

下载Runtime官网:https://dotnet.microsoft.com/download/dotnet-core

根据自己的项目下载不同的版本:
image.png

博主下载的是.NET 5(一般安装RunTime就行了):
image.png

下载SDK,博主下载的是64位,具体根据自己的电脑来下载。
image.png

得到这2个文件:
image.png

如果是在自己电脑上发布,就直接双击安装即可。如果要将项目发布到服务器上,将这2个文件复制到服务器上,再分别进行安装。
image.png
image.png

在服务器上安装成功后,然后进行测试是否安装成功:
image.png


三、项目发布

3.1-发布.NET Core项目到IIS

(1)右击项目,选择【发布】
image.png
image.png
(2)选择【文件夹】
image.png
(3)选择要保存的路径,然后点击【完成】;
image.png
(4)点击【发布】,可以看到已经发布完成了。
image.png
image.png
(5)然后将打包后的文件夹,复制到服务器上。


3.2-发布Vue项目到IIS

(1)打开Vue项目。
image.png
(2)在VS Code或者终端属于以下命令进行项目的打包。

npm run build

(3)然后得到一个dist文件夹。
image.png
(4)打开IIS,新建一个站点。
image.png
(5)然后访问网站,如果出现这个错误。

HTTP错误404.0 -Not Found
您要找的资源已被删除、已更名或暂时不可用。

image.png
(6)解决方案如下:在IIS添加一个URL重写功能即可。
image.png
6.2-打开以下网址,进行下载并安装:

官方下载:https://www.iis.net/downloads/microsoft/url-rewrite

image.png
点击【保存文件】进行下载:
image.png
6.3-然后将这个刚刚下载的这个文件,复制到服务器上进行安装。
6.4-然后在Vue站点上,创建一个【web.config】文件,并拷贝以下配置信息。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

四、将项目部署在IIS进行代理

(1)打开IIS,新建一个站点。
image.png
(2)修改应用程序池,将.NET CLR版本改为【无托管代码】,将托管管道模式改为【集成】。
image.png
image.png
(3)然后运行一下,已经成功了。
image.png
(4)如果出现以下问题,发现报错了:

HTTP错误500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。

image.png
4.1-先查看模块是否能正常打开。
image.png
4.2-因为我们的项目是在桌面上,会存在权限的不足,而报错内容中也提出权限不足,然后我们可以将项目放在其他的磁盘在进行部署。(是的,然后又出现一个错误)
image.png
解决(502.5错误):
image.png
4.3-将日志打开,然后新建一个【Log】文件夹,然后重启一个IIS,在日志中找到错误。
image.png


五、将项目部署到Service服务中

5.1-部署到Service服务中(WebAPI项目)

下载地址:http://www.nssm.cc/download

(1)下载
image.png
(2)将下载好的压缩包拷贝到服务器中,进行解压,然后选择跟系统对应的版本。
image.png
(3)在此目录下输入"cmd",然后进入当前目录。
image.png
(4)输入命令然后会调出这个窗口。

nssm install
Path:C:\Program Files\dotnet\dotnet.exe

image.png
(5)以下操作:
5.1-输入以下命名查看是否安装成功:

nssm status 服务名称

image.png

5.2-启动

nssm start 服务名称

image.png
image.png


5.2-NSSM常见命令

1. 安装服务命令
nssm install <servicename>
nssm install <servicename> <program>
nssm install <servicename> <program> [<arguments>]

2. 删除服务
nssm remove
nssm remove <servicename>
nssm remove <servicename> confirm

3. 启动、停止服务
nssm start <servicename>
nssm stop <servicename>
nssm restart <servicename>

4. 查询服务状态
nssm status <servicename>

5. 服务控制命令
nssm pause <servicename>
nssm continue <servicename>
nssm rotate <servicename>


原文链接:https://www.cnblogs.com/kimiliucn/p/17630710.html

标签:nssm,IIS,项目,NETCore,点击,发布,服务器,安装
From: https://www.cnblogs.com/kimiliucn/p/17630710.html

相关文章

  • C#重启IIS指定网站和指定应用程序池
    usingJinher.AMP.BTP.Deploy;usingMicrosoft.Web.Administration;usingRedis.Helper;usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Threading;usingSystem.Th......
  • C#重启IIS指定网站和指定应用程序池, 以及资源释放。
    1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4usingSystem.Text;5usingSystem.Threading;6usingSystem.IO;7usingMicrosoft.Web.Administration;8910namespaceRecoveryWebSite11{12classProgr......
  • RISC-V公测平台发布 · 7-zip 测试
    简介7-Zip是一个开源的压缩和解压缩工具,具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外,7-Zip还提供了基准测试功能,通过压缩和解压缩大型文件来评估系统的处理能力和性能。7-Zip提供了一种在不同压缩级别和多线程设置下进行基准测试的方式,用户可以根据......
  • 苹果发布会又要来了
    阅读本文大概需要2.1分钟。1、昨天凌晨,苹果正式官宣秋季发布会将于美国当地时间9月14日10点(北京时间9月15日凌晨1点)通过线上形式举行,预计将发布iPhone13、AppleWatch7、AirPods3等新品。说实话,我还是挺期待的。不过借今天这个话题,想在这说几点关于乔布斯的内容......
  • IIS 添加MIME扩展类型及常用的MIME类型列表
    经常用IIS作为下载服务器的时候有时传上去的文件比如example.mp4文件名上传后,但是用http打开的时候确显示为404文件不存在。其实是IIS对文件的一种保护,不在IIS指定的MIME类型里的文件不会被操作。常见的有mp4/flv/iso/7z/apk等扩展名的文件,iis本身是没有指定......
  • IIS 请求筛选模块被配置为拒绝包含双重转义序列的请求。
    方法1:web.config内容如下:<?xmlversion="1.0"encoding="UTF-8"?><configuration><system.webServer><security><requestFilteringallowDoubleEscaping="true"/></security></system.webServer&g......
  • 快手发布AIGC解决方案和数字人产品
    您的关注是对我最大的支持......
  • OpenZFS 2.2 发布 RC3,支持 Linux 6.4
    导读之前的OpenZFS2.2候选版本已致力于实现与 Linux 6.4内核的兼容性,而在2.2-rc3中,Linux6.4支持的元跟踪器已标记为已完成。OpenZFS2.2发布了第3个RC版本。之前的OpenZFS2.2候选版本已致力于实现与Linux6.4内核的兼容性,而在2.2-rc3中,Linux6.4......
  • 支持本地部署,完全免费的 ABAP 来了 - ABAP Platform Trial 1909 发布
    我曾经编写过一套零基础的ABAP编程学习教程,截至2023年8月2日,总共包含114篇文章:零基础快速学习ABAP有零基础自学ABAP的朋友咨询,如果手头没有ABAP开发环境该怎么办?我在2019年时写过一篇文章,提到了SAP云平台上免费的ABAP编程环境:ABAP开发者上云的时候到了-......
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记30_为部署而设计
    1. 部署行为是系统生命的重要组成部分1.1. 只编写代码是不够的,只要没有在生产环境中运行,一切都不算完成1.2. 要想取得成功,需要早早地频繁部署软件1.3. 设计易于部署的软件非常有必要1.4. 零停机部署就是目标2. 机器与服务2.1. 机器是可配置的操作系统实例2.1.1. ......