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

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

时间:2023-08-15 13:05:07浏览次数:62  
标签:nssm IIS NETCore 项目 点击 发布 服务器 安装

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


一、安装IIS教程

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

(1)右击——>点击【显示设置】

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


(2)搜索【控制面板】

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


(3)点击【程序】

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


(4)点击【启动或关闭windows功能】

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


(5) 选择Internet Information Service(IIS的缩写)

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

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


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

(1)打开【服务器管理器】

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


(2)按照以下步骤操作。点击【添加角色和功能】

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


(3)点击【下一步】

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


(4)在安装类型类目中,选择【基于角色活基于功能的安装】。

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


(5)点击【下一步】

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


(6)勾选【Web服务器(IIS)】,然后点击【下一步】。

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


(7)然后点击【下一步】。

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


(8)然后点击【安装】,这个过程可能比较长一点,需要等一会安装好。

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


(9)安装完毕后,可以在这里看到有IIS了。

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


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

下载Runtime官网:.NET Downloads (Linux, macOS, and Windows)

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

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


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

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


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

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

得到这2个文件:

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

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

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

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


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

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


三、项目发布

3.1-发布.NET Core项目到IIS

(1)右击项目,选择【发布】

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

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


(2)选择【文件夹】

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


(3)选择要保存的路径,然后点击【完成】;

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


(4)点击【发布】,可以看到已经发布完成了。

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

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

(5)然后将打包后的文件夹,复制到服务器上。


3.2-发布Vue项目到IIS

(1)打开Vue项目。

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


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

npm run build

(3)然后得到一个dist文件夹。

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

(4)打开IIS,新建一个站点。

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

(5)然后访问网站,如果出现这个错误。

HTTP错误404.0 -Not Found

您要找的资源已被删除、已更名或暂时不可用。

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

(6)解决方案如下:在IIS添加一个URL重写功能即可。

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


6.2-打开以下网址,进行下载并安装:

官方下载:URL Rewrite : The Official Microsoft IIS Site

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


点击【保存文件】进行下载:

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


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,新建一个站点。

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


(2)修改应用程序池,将.NET CLR版本改为【无托管代码】,将托管管道模式改为【集成】。

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

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


(3)然后运行一下,已经成功了。

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

(4)如果出现以下问题,发现报错了:

HTTP错误500.19 - Internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

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

4.1-先查看模块是否能正常打开。

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

4.2-因为我们的项目是在桌面上,会存在权限的不足,而报错内容中也提出权限不足,然后我们可以将项目放在其他的磁盘在进行部署。(是的,然后又出现一个错误)

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

解决(502.5错误):

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

4.3-将日志打开,然后新建一个【Log】文件夹,然后重启一个IIS,在日志中找到错误。

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



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

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

下载地址:NSSM - the Non-Sucking Service Manager

(1)下载

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


(2)将下载好的压缩包拷贝到服务器中,进行解压,然后选择跟系统对应的版本。

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


(3)在此目录下输入"cmd",然后进入当前目录。

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


(4)输入命令然后会调出这个窗口。

nssm install

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

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


(5)以下操作:

5.1-输入以下命名查看是否安装成功:

nssm status 服务名称

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


5.2-启动

nssm start 服务名称

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


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



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>

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


版权声明:本文为原创文章,版权归 [西瓜程序猿] 所有,转载请注明出处,有任何疑问请私信咨询。

原文链接:https://blog.51cto.com/kimiliucn/7086839


标签:nssm,IIS,NETCore,项目,点击,发布,服务器,安装
From: https://blog.51cto.com/kimiliucn/7086839

相关文章

  • LE超跑中国 苏州站发布会
    闻览红星新媒体中心苏州电(赵伟嵇尚尚)8月18日,由Le超跑俱乐部主办的Le超跑中国苏州站发布会,将在苏州东方之门举行。现场,法拉利、兰博基尼、迈凯轮、劳斯莱斯、保时捷等众多超跑云集,另外还有一辆神秘车型,总价值预估达到十几亿元。Le超跑俱乐部元老级人物Lunawang称,也许每......
  • 项目发布部署:如何发布.NETCore项目到IIS服务器?
    前言:本文将详细介绍如何发布.NETCore项目到IIS服务器。首先,第一步需要安装IIS,介绍了在本地电脑和服务器中进行安装。然后需要安装SDK和运行时才能发布.NETCore项目。其次介绍了如何发布.NETCore项目和Vue项目,并配置IIS。最后介绍了如何将项目部署到Service服务中。一、安装IIS......
  • 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......