C#进阶-IIS服务器发布ASP.NET项目

对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以 IIS服务器 发布 ASP.NET 项目为例。

asp000 - IIS服务器发布ASP.NET项目


一、准备项目的发布版本

1、检查项目是否可运行

本地用 Visual Studio 打开一个可运行的 ASP.NET 项目,

右键解决方案清理解决方案 => 重新生成解决方案。

如果项目有错误,这里会显示报错。没有错误,则重新生成成功。

asp001 - IIS服务器发布ASP.NET项目

也可以本地直接启动,访问调试看看能不能顺利运行。 


2、打包项目

我们发布 ASP.NET 项目,就是将打包后的项目包复制到在服务器的发布文件夹内,因此,我们需要准备可发布的项目包,这个包通过 Visual Studio 编译生成。

我们用 Visual Studio 打开刚刚验证过的项目, 选中项目的启动模块(名字加粗的模块),鼠标右键,点击发布。

asp002 - IIS服务器发布ASP.NET项目

发布时选择发布文件夹的路径,项目的 Release 版本会生成在这个文件夹里。 

asp003 1024x333 - IIS服务器发布ASP.NET项目

记住发布的目标文件夹位置。

点击发布,项目会开始编译,控制台显示发布状态,发布完成会有提示。
项目发布完成后,打开该文件夹,cwfpublish 是我们的发布文件夹。

asp004 1024x477 - IIS服务器发布ASP.NET项目

把整个文件夹(cwfpublish)复制到云服务器上。

asp005 - IIS服务器发布ASP.NET项目


3、项目包内容介绍

asp004 1024x477 - IIS服务器发布ASP.NET项目

  • bin 目录是应用程序目录,里面默认装的是 所有.cs文件的编译版本(.dll文件),包含每个模块的.dll文件和.pdo缓存文件,每次我们修改 .cs 文件或者引入 nuget 包,bin目录都会发生变化,需要重新发布才能生效;
  • configs 目录一般是存放 log4j.config 等配置文件;
  • css 目录存放前端样式文件;
  • images 目录存放静态图片;
  • js 目录存放前端 JavaScript 代码;
  • Map 目录存放 MyBatis框架 封装的 .xml文件;
  • pages 目录存放前端 .aspx 页面;
  • Template 目录存放模板文件,比如复用频率高的 html模板、邮件模板等等;
  • themes 目录存放静态资源文件(主题类css/js/images)
  • global.asax 是 ASP.NET 自带的全局文件,里面可以自定义生命周期内的动作;
  • packages.config 是项目引用包的包名和包的版本信息;

、服务器搭建ASP.NET运行环境

1、服务器安装IIS运行环境

控制面板 => 程序,启动或关闭Windows功能。

asp006 - IIS服务器发布ASP.NET项目

服务器会自动跳到如下页面:

asp007 - IIS服务器发布ASP.NET项目

把我选的都勾了。

然后安装。


2、调试IIS是否正常运行

安装好以后,调试浏览器,输入 localhost 访问,出现IIS说明安装成功

asp011 - IIS服务器发布ASP.NET项目


3、发布项目

进入服务器管理器,右键进入IIS管理器

asp012 1024x685 - IIS服务器发布ASP.NET项目

asp013 1 - IIS服务器发布ASP.NET项目

添加网站。

asp014 1 - IIS服务器发布ASP.NET项目

asp015 - IIS服务器发布ASP.NET项目

注意这里端口和tomcat的端口类似,我tomcat端口教70,这里使用90避免端口冲突;物理路径就是刚刚asp文件发布的位置;网站名称随意;

到此网站基本发布完成。


4、设置网站主页

如果网页发布文件夹根目录下没有放置 index.aspx(或其他名为index的默认页面文件),则需要配置默认文档来决定首页展示,不配置会提示 404(页面无法找到)
asp016 - IIS服务器发布ASP.NET项目

此处,默认文档是用来决定网站主页的配置项。


5、开启服务器防火墙入站规则

下面是打开IIS服务器外网防火墙。
非80端口发布的项目,设置了对应端口的入站规则才可以访问到。

asp017 - IIS服务器发布ASP.NET项目

控制面板 => 系统和安全 => Windows防火墙 => 高级设置 => 入站规则 => 新建规则

填写我们发布项目的端口。

asp018 - IIS服务器发布ASP.NET项目

开放90端口,因为我这个网站上面设定的是90端口。

asp019 - IIS服务器发布ASP.NET项目

后面一直点到完成,名称我起的是 netweb。

asp020 - IIS服务器发布ASP.NET项目

完成之后我们可以在入站规则里看到我们刚刚设置的端口,双击可以看到我们的配置

防火墙开启完成。

asp021 - IIS服务器发布ASP.NET项目

我们在服务器用浏览器调试 localhost:90

启动成功。


三、常见问题与解决

我们再进行本地调试,也遇到了几个问题

问题一:配置节被父级锁定

asp022 1 - IIS服务器发布ASP.NET项目因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。

解决方法:

以管理员身份运行命令行:

C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

其中的 handlers、是错误信息中红字显示的节点名称,一般modules也会锁,不妨两条都解锁一下。


问题二:HTTP错误 404.3

asp023 - IIS服务器发布ASP.NET项目

问题二出现的原因,一般是你看了别人家的教程,没有在我前面那样添加全面的服务器功能,回到我上面讲的地方,把该安装的都装了。


问题三:发布后的网站不能访问

测试本地浏览器输入localhost:90 是否可以访问,如果可以访问,说明项目是正常运行的。这种情况应该是被拦截了,看看服务器的防火墙规则和云服务器控制台的安全组有没有打开对应的端口。

经过排查,发现是我定义项目端口为 90,但是云服务器控制台的安全组里忘记开放 90 端口了,打开即可。

asp024 1024x32 - IIS服务器发布ASP.NET项目

至此,ASP.NET在云服务器上的发布教程结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/236659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

暴打小苹果

欢迎来到程序小院 暴打小苹果 玩法:鼠标左键点击任意区域可发招暴打,在苹果到达圆圈时点击更容易击中, 30秒挑战暴打小苹果,打中一次20分,快去暴打小苹果吧^^。开始游戏https://www.ormcc.com/play/gameStart/247 htm…

PXE 高效批量网络装机

前提: 虚拟机恢复到初始化 调整网卡为vm1 关闭防火墙 安全linux systemctl stop firewalld vim /etc/selinux/config 配置IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 重启网卡 systemctl restart network 挂载磁盘 安装yum源 安装服务 yum install vs…

uni-app做A-Z排序通讯录、索引列表

上图是效果图,三个问题 访问电话通讯录,拿数据拿到用户的联系人数组对象,之后根据A-Z排序根据字母索引快速搜索 首先说数据怎么拿 - 社区有指导https://ask.dcloud.net.cn/question/64117 uniapp 调取通讯录 // #ifdef APP-PLUSplus.contac…

【Git】本地仓库文件的创建、修改和删除

目录 一、基本信息设置 1、设置用户名2、设置用户名邮箱 二、Git仓库操作介绍 1、创建一个新的文件夹2、在文件内初始化git仓库(创建git仓库)3、向仓库中添加文件 1.创建一个文件2.将文件添加到暂存区3.将暂存区添加到仓库 4、修改仓库文件 1.修改文件2.…

基于JAVA+SpringBoot的咖啡商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着互联网的普及和发…

Windows下Redis5+可视化软件下载、安装和配置教程-2024年1月8日

Windows下Redis5下载、安装和配置教程-2024年1月8日 一、下载二、安装三、配置环境四、配置可视化客户端 一、下载 redis是现在是没有对win系统版进行维护的,这个是大神完成的,目前是到5版本,选择Redis-x64-5.0.14.1.zip点击下载 下载地址&…

使用Navicat导入csv数据至mysql

问题 使用Navicat导入csv数据至mysql 详细问题 笔者有已进行数据处理的csv,需要将数据信息导入mysql中 解决方案 步骤1、建立数据表,字段信息(最好)与csv字段信息保持一致,方便后续导入。 具体的,双击…

Surface mesh结构学习

CGAL 5.6 - Surface Mesh: User Manual Surface_mesh 类是半边数据结构的实现,可用来表示多面体表面。它是半边数据结构(Halfedge Data Structures)和三维多面体表面(3D Polyhedral Surface)这两个 CGAL 软件包的替代品…

2023一带一路暨金砖国家技能发展与技术创新大赛“网络安全”赛项省选拔赛样题卷①

2023金砖国家职业技能竞赛"网络安全" 赛项省赛选拔赛样题 2023金砖国家职业技能竞赛 省赛选拔赛样题第一阶段:职业素养与理论技能项目1. 职业素养项目2. 网络安全项目3. 安全运营 第二阶段:安全运营项目1. 操作系统安全配置与加固任务一Linux …

OpenGL排坑指南—贴图纹理绑定和使用

一、前言 在OpenGL学习 的纹理这一章中讲述了纹理贴图的使用方式,主要步骤是先创建一个纹理的对象,和创建顶点VAO类似,然后就开始绑定这个纹理,最后在循环中使用,有时候可能还要用到激活纹理单元的函数。然而&#xff…

聚对苯二甲酸乙二醇酯PET的特性有哪些?UV胶水能够粘接聚对苯二甲酸乙二醇酯PET吗?又有哪些优势呢?

聚对苯二甲酸乙二醇酯(Polyethylene Terephthalate,PET)是一种常见的塑料材料,具有许多特性,包括: 1.化学式: PET的化学式为 (C10H8O4)n,其中n表示重复单元的数量。 2.透明度&#…

4.4 媒资管理模块 - 分布式任务处理介绍、视频处理技术方案

媒资管理模块 - 视频处理 文章目录 媒资管理模块 - 视频处理一、视频转码1.1 视频转码介绍1.2 FFmpeg 基本使用1.2.1 下载安装配置1.2.2 转码测试 1.3 工具类1.3.1 VideoUtil1.3.2 Mp4VideoUtil1.3.3 测试工具类 二、分布式任务处理2.1 分布式任务调度2.2 XXL-JOB 配置执行器 中…

C++(10)——模板

目录 1.什么是泛式编程以及模板的引入: 2. 模板: 2.1 函数模板: 2.2 类模板: 1.什么是泛式编程以及模板的引入: 在之前排序的部分中,为了完成某个特定功能,经常会用到交换函数,即…

Jenkins安装和配置

拉取Jenkins镜像 docker pull jenkins/jenkins 编写jenkins_docker.yml version: "3.1" services:jenkins:image: jenkins/jenkinscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/首次启动会因为数据卷data目录没有权限…

强化学习在生成式预训练语言模型中的研究现状简单调研

1. 绪论 本文旨在深入探讨强化学习在生成式预训练语言模型中的应用,特别是在对齐优化、提示词优化和经验记忆增强提示词等方面的具体实践。通过对现有研究的综述,我们将揭示强化学习在提高生成式语言模型性能和人类对话交互的关键作用。虽然这些应用展示…

Django框架完成读者浏览书籍,图书详情页,借阅管理

前情回顾: 使用Django框架实现简单的图书借阅系统——完成图书信息管理 文章目录 1.完成展示图书信息功能1.1django 静态资源管理问题1.2编写图书展示模板HTML 2.完成图书详情页功能2.1从后端获取图书详情信息2.2详情页面展示图书数据 3.完成借阅管理功能3.1管理员…

云卷云舒:AI for DB、DB for AI

云卷云舒:算力网络云原生(下):云数据库发展的新篇章-CSDN博客https://blog.csdn.net/bishenghua/article/details/135050556 随着数据库和AI技术的分支同向演进,AI 和数据库间的关联越发紧密了。 大模型的演进发展&a…

MySQL面试题 | 04.精选MySQL面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

py的函数讲解

前言:本章节我们来讲函数,主播略微感觉到有点小难,友友们需要认真看 目录 一.初始函数 1.1关于函数 1.2举例 1.3小结 二.函数的基础语法 2.1关于函数的语法 2.2举例 2.3小结 三.函数的参数 3.1关于函数的参数 3.2举例 3.3小结 四.函数的返回…

Java8常用新特性

目录 简介 1.默认方法 2..Lambda表达式 3.Stream API 4.方法引用 5.Optional类 简介 Java 8是Java编程语言的一个重要版本,引入了许多令人兴奋和强大的新特性。这些特性使得Java程序更加现代化、灵活和高效。让我们一起来探索一些Java 8的常用新特性吧&#…