当前位置 博文首页 > lbttwo的博客:.net core3.1在windows server 2008 r2上部署500

    lbttwo的博客:.net core3.1在windows server 2008 r2上部署500

    作者:[db:作者] 时间:2021-08-30 15:57

    直接进入正题:
    我在之前部署了win10本地以后,又陷入了winserver 2008r2部署的坑,在这里记录一下爬坑过程,供大家参考自己所遇到的问题,win10本地iis部署完后(前面有写),准备直接部署到winserver 2008r2上,测试了几次均失败,百度了一圈没结果,静下心来思考,为什么总是报500.XX的错误,爬坑过程如下:
    首先确定不是因为字符串连接产生的错误,测试了几个数据库均没有问题,tip:data source写到数据库服务器就行了
    在这里插入图片描述

    其次安装官网Microsoft官网提供的运行时包以及框架上面一篇里面有3.1安装包的详细内容,成功安装,调整姿势准备起飞,项目拷贝到winserver 2008r2环境下后,先运行测试一下直接运行可执行程序监听相应端口,直接键入url地址进行访问,前端查看请求状态全是500,搞了一天了心态有点裂开,冷静了一下突然想到了部署的时候勾选的迁移,因为数据库的生成规则是本机名加上实例名称,本地部署和目标机器的名称不符,问题找到了,盘他,虚拟机修改成目标系统计算机名称,实例名称也改一下(数据库重装确保万无一失),然后重新用新的连接字符生成迁移,生成数据库,部署的时候带上连接字符串,连接字符串data source中重头到尾别带实例名称,部署一波依然500,测底裂开

    活儿还得继续,看了一下大佬的博客发现以下几个包没有安装,安装的时候先装后两个,该重启重启,第一个是c++2015的安装包,这个很重要,安装好以后程序就能运行了,如果发布的时候选择的目标服务器就是64位就别把32位置为true,否则500
    在这里插入图片描述
    虚拟机部署:
    在这里插入图片描述
    在这里插入图片描述
    不要想着部署以后去修改appsetting.json文件来挽救自动迁移错误带来的不良后果
    在这里插入图片描述
    我直接把连接字符串注释了,exe可执行程序依然能正常开启服务,总结一下,c++2015这个包很重要,补丁也很重要(后面测试发现两个补丁包其中一个不打也没关系),最好都装上,迁移的时候一定要再三确认部署的机器名称是否与连接字符串匹配,希望这些过程对大家爬坑的时候有帮助,打完收工回家吃饭了

    cs