当前位置: 首页 > news >正文

Windows Server 2022 + IIS + .NET 8 + MySQL 部署手册

Windows Server 2022 + IIS + .NET 8 + MySQL 部署手册

前提条件

  • 服务器:Windows Server 2022
  • 远程访问:RDP/管理员权限
  • 项目:ToDo.Razor (ASP.NET Core 8.0 Web 项目)
  • 数据库:MySQL(需要在服务器上安装)

在服务器打开时出现的服务器管理器(IIS)上操作:

  1. 打开 服务器管理器 → 点击 添加角色和功能

  2. 选择:

    • 服务器角色 → 勾选 Web Server (IIS)

    • 角色服务 里额外勾选:

      • Web Server → Application Development → ASP.NET 4.8
      • Web Server → Security → Request Filtering、Basic Authentication、Windows Authentication(可选可不选)
      • Management Tools → IIS Management Console

步骤 1:在服务器上安装 .NET Hosting Bundle

  1. 确认项目目标框架(.csproj<TargetFramework>

    • ToDo 项目是 net8.0
  2. 下载 .NET 8 ASP.NET Core Hosting Bundle

    • 官方下载:.NET 8 Hosting Bundle
    • 文件名类似:dotnet-hosting-8.0.x-win.exe
    安装指南
  3. 以管理员身份运行安装包 → 完成安装

  4. 验证安装:

win+R打开终端并输入:

dotnet --list-runtimes

输出中应包含:

Microsoft.NETCore.App 8.0.x
Microsoft.AspNetCore.App 8.0.x

步骤 2:服务器安装 MySQL

  • MySQL 8.0.43安装指南

设置 root 密码123456 → 默认端口 3306,使用root登录mysql


步骤 3:发布项目

  1. VS2022→视图选项卡→终端→输入:
dotnet publish -c Release -o ./publish
  1. 生成 publish 文件夹,确认包含:

    • ToDo.Razor.dll
    • web.config
    • appsettings.json
    • wwwroot 等资源文件

publish文件夹在本地ToDo路径下,在VS2022中右键解决方案选择在文件资源管理器中打开文件就可以找到

  1. publish 打包成 ZIP 上传(复制粘贴)到服务器C:\inetpub\路径下,新建ToDo(你的项目名称)文件夹,即 C:\inetpub\ToDo\publish.zip

  2. 在服务器上解压到:

C:\inetpub\ToDo

确保 ToDo.Razor.dll 在根目录


步骤 4:配置数据库连接(确保密码和数据库名字正确)

  1. 编辑 C:\inetpub\ToDo\publish\appsettings.json
"ConnectionStrings": {"DefaultConnection": "server=localhost;port=3306;database=todo;user=root;password=123456;"
}

步骤 5:配置 Windows IIS

win+R输入inetmgr打开IIS管理器

  1. 打开 IIS 管理器网站添加网站

    • 站点名称:ToDo(你的站点名称)

    • 物理路径C:\inetpub\ToDo\publish

    • 绑定

      • 类型:http
      • IP:全部未分配
      • 端口:80
      • 主机名:test2.icode8.net(你的主机名)
  2. 配置应用程序池:
    左侧树状结构打开应用程序池,找到ToDo

    • 右键选择基本设置:.NET CLR 版本无托管代码
    • 右键选择高级设置:找到启动模式AlwaysRunning
    • 应用程序池状态 已启动
  3. 在发布目录下创建日志文件夹(可选):

主要用于报错时日志的输出

C:\inetpub\ToDo\publish\logs
  • web.config 中确保:
<aspNetCore processPath="dotnet" arguments=".\ToDo.Razor.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />

步骤 6:测试网站

  1. 浏览器访问:
http://test2.icode8.net(你的主机名)
  1. 如果出现 500 错误:

    • 查看 logs 下 stdout 日志
    • 查看 事件查看器 → 应用程序
    • 命令行直接测试:
cd C:\inetpub\ToDo\publish
dotnet ToDo.Razor.dll
  1. 常见问题:

    • 500.31 → 缺少 Hosting Bundle / .NET Runtime
    • 500.30 → 数据库配置错误 / 依赖缺失

步骤 7:优化与维护

  1. 配置 HTTPS → 申请证书 / 使用 IIS 绑定 SSL

  2. 定期备份数据库

  3. 配置 IIS 日志 / stdout 日志监控网站运行

  4. 发布新版本:

    • 本地重新 dotnet publish
    • 上传覆盖 C:\inetpub\ToDo\publish
    • IIS 重启

💡 关键注意事项

  • 确保服务器上有 对应版本的 .NET Hosting Bundle
  • appsettings.json 连接字符串必须指向服务器数据库
  • 发布目录里必须有 ToDo.Razor.dllweb.config
  • 应用程序池必须 无托管代码 + AlwaysRunning
http://www.dtcms.com/a/590219.html

相关文章:

  • hemi网站怎么做热图怎样做网站的seo
  • 跟着小码学算法Day21:验证二叉搜索树
  • wordpress外汇主题wordpress 网站优化
  • 邮箱合法性判断【Java】
  • 苏州做网站费用网页设计与应用
  • 上传网站流程怎么做淘客手机网站
  • 深圳网站关键字优化网页设计怎么把图片上移
  • 微信授权登录第三方网站开发设计师建站网站
  • C++数据结构实战:二叉搜索树的核心操作与应用场景
  • 可以下载的建站网站有必要买优化大师会员吗
  • 微网站免费模板建站公司主要做那些业务
  • KingbaseES权限隔离深度解析:从MySQL的遗憾到安全增强的革新之路
  • 格力网站的建设情况邢台做网站哪家便宜
  • pythob编程能力测试备考
  • 泉州快速优化排名广州seo排名优化服务
  • equals和==的区别
  • 搭建租号网的网站如何在建设厅网站搜索企业
  • 域名解析记录值填什么杭州小周seo
  • 医院做网站是最简单的前端吗vs2019怎么创建网站
  • 手表网站排名大全吉林省建设安全信息网官网
  • 嘉定企业网站开发做网站 计算机有交嘛
  • 商城网站设计一站式服务如何制作网址内容
  • voice_control_smart_car(语音控制智能小车)
  • 如何做1个手机网站宜宾网站建设价格
  • ‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  • 2025年11月9日互联网技术热点TOP3及影响分析(乌镇核心消息)
  • 可以做问答的网站开题报告旅游网站建设
  • 公司的建设网站公司wordpress 首页显示文章数量
  • 郑州网站建设炉石wordpress 关闭feed
  • FPGA教程系列-Vivado中实现简单正弦波