最近一直在做项目,发布部署的事情都是同事或者老大做的,无奈什么事都要自己尝试经历后才能记住,所以发布的事情轮到我了,由于是第一次发布部署项目到一个新的服务器环境,难免会遇到各种各样的问题,总结下来,希望可以帮到需要的人。

项目框架使用的是vue+.netCore2.2所以发布的时候需要前后端分开发布,遇到的问题是挺多的,不过对自己来说也算是一种经历吧。

一..netCore 项目发布

1.1 修改环境配置为线上服务器的数据库地址

将网站下的三个json文件的数据库配置修改为线上的数据库环境

1.2设置启动项,迁移数据库

将项目内的Migrator设置为启动项目,并修改项目下app.settings.json的连接字符串为服务器的IP,登录名和密码为线上数据库的登录名和密码

1.3迁移数据库到线上

F5启动项目,会弹出提示 是否将数据库迁移到线上服务器地址,输入 “y”即可将数据库迁移到服务器

1.4发布本地项目

重新将启动项目设置为Middleware.Web.Host,并点击发布按钮。将项目发布到自己选定的文件夹

至此,本地.netCore 项目发布完成

二.Vue前端发布

2.1 修改IPConfig配置

vue前端发布之前,需修改IPConfig.js下的remoteUrl和baseUrl,即前后端的地址配置为服务器的IP地址。将localhost 替换为 服务器的IP地址

2.2 发布前端项目

使用命令行 发布 vue项目 终端--新建终端 输入 命令 npm run build 回车之后,会在本地项目的目录下生成一个dist文件夹

打开本地项目文件夹,找到dist文件夹,拷贝出来。至此本地的vue项目已发布成功。

三.部署线上服务器环境

3.1发布网站

将前端发布的dist文件夹和后端发布的文件夹一并拷贝到服务器上。打开IIS,添加前后端网站

Window+R 启动运行 程序 输入 mstsc 打开远程连接 输入远程桌面IP和登录名密码。进入远程桌面连接。

添加网站:网站名称,物理路径,修改端口号为前后端项目对应的端口号。

这里.netCore网站的应用程序池.NET CLR版本要改为 无托管代码

3.2修改权限

点击文件夹 右键 属性--安全设置 添加Everyone和IIS_IUsr的权限控制为允许全部

3.3安装.netCore环境

安装.netCore所需要的环境 .netCoreruntime 和.netCore Hosting 附官网下载地址

https://dotnet.microsoft.com/download/dotnet-core/2.2

下载后安装

3.4安装vue环境

安装vue所需环境,urlrewrite,即url重定向,防止刷新页面导致的404URL不存在的错误。

四.常见的一些错误和解决办法

4.1 500.19

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

原因:环境未安装完毕

解决办法:重启IIS,确保前后端所需的环境都已安装完毕。

4.2 依赖错误

windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法

原因:dotnet core runtime依赖vc++2015,如果系统未安装vc++2015则会报上面的错误

解决办法:先下载安装vc++2015再安装dotnet core runtime

4.3 502.5 进程失败

原因:后台数据库配置错误或者环境未安装完毕。

解决办法:

修改.netCore项目下web.config stdoutLogEnabled=”True”,然后手动新建logs文件夹,重新启动网站,会在logs文件夹下生成一个stdoutLog的txt文件,打开即可看到详情的错误信息,对照修改为正确的配置即可。

到此,从本地发布到一台新服务器的过程就结束了。不得不感叹,感觉还是撸代码好点,哈哈。

自己经历过,才能对过程更加深刻。所以有些事只有自己亲自动手去尝试,会记得更牢固,以后遇到同样的问题就能解决了。

教你发布vue+.netCore项目到服务器的更多相关文章

  1. .NetCore 项目在服务器打包失败解决

    错误描述:NuGet警告 NU3037 NU3028 原因:Nuget无法访问到json所在的网络 2021年1月31日更新:更好的方法 把自动生成的Dockerfile内的AS build 替换成官 ...

  2. Ubuntu18.04安装Docker并部署(编译、发布、构建镜像)Asp.NetCore项目全过程笔记

      环境准备:阿里云Ubuntu18.04 全新安装   一.安装Docker 1.删除旧版本并更新包索引: sudo apt-get remove docker docker-engine dock ...

  3. VUE 脚手架项目搭建

    1. 概述 1.1 说明 vue-cli是一个官方发布vue.js项目脚手架,使用vue-cli可以快速创建vue项目.GitHub地址是:https://github.com/vuejs/vue-c ...

  4. vue + typescript 项目起手式

    https://segmentfault.com/a/1190000011744210 2017-10-27 发布 vue + typescript 项目起手式 javascript vue.js t ...

  5. vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布

    框架介绍 这是一个基于vue.element-ui.iview..netcore3.1 可支持前端.后台动态扩展业务代码快速开发框架. 框架内置定制开发的代码生成器,生成的代码不需要复制也不需要更改, ...

  6. 在Linux服务器部署 .NET-Core 项目

    一.文章概要  这篇文章是讲述一个Linux 新手将 .NET-Core 项目部署在 Linux 服务器上的一个记录,以及在部署期间遇到的问题以及解决办法.有不恰当的地方.欢迎大神指正. 二.前期准备 ...

  7. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  8. 从零实现Linux一键自动化部署.netCore+Vue+Nginx项目到Docker中

    环境搭建 1.安装Linux,这里我用的阿里云服务器,CentOS7版本 2.进入Linux,安装Docker,执行以下命令 sudo yum update #更新一下yum包 sudo yum in ...

  9. 使用jenkins一键打包发布vue项目

    jenkins的安装 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一个独立 ...

随机推荐

  1. List遍历删除 或取指定的前N项

    class Program { static void Main(string[] args) { /* * List遍历删除 或取指定的前N项 */ List<PerSon> listP ...

  2. UWP 双向绑定,在ListView中有个TextBox,怎么获取Text的值

    要求:评论宝贝的时候一个订单里面包含多个产品,获取对产品的评论内容哦 1. xaml界面 <ListView x:Name="lvDetail"> <ListVi ...

  3. Qt5.5以来对Network的改进(包括对SSL的功能支持,HTTP的重定向等等)

    Qt Network New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this wil ...

  4. ring3下利用WMI监视进程创建(vc版)

    #include "stdafx.h" #define _WIN32_DCOM #include <iostream> using namespace std; #in ...

  5. 【Web前端Talk】无聊吗?写个【飞机大战】来玩吧(上篇)

    01前言介绍 微信小游戏是基于微信客户端的游戏,它即点即玩,无需下载安装,体验轻便,可以和微信内的好友一起玩,比如PK.围观等,享受小游戏带来的乐趣.那如何开发一款属于自己的小游戏呢? 源码地址: h ...

  6. Hibernate注解(一):基本注解

    在Hibernate中使用注解,主要是为了替代映射文件,完成“类到表,属性到字段”的映射.JPA提供了一套功能强大的注解.Hibernate直接使用了JPA的这套注解.当然,对于JPA中的一些不足,H ...

  7. MakerDAO 代币解释:DAI, WETH, PETH, SIN, MKR(一)

    Maker DAO Token Maker DAO 系统是由多个智能合约 ( Sai Tap, Sai Tub, Vox, Medianiser, etc.), 和 ERC-20 代币组成. 他们一起 ...

  8. Spring5源码深度分析(二)之理解@Conditional,@Import注解

    代码地址: 1.源码分析二主要分析的内容 1.使用@Condition多条件注册bean对象2.@Import注解快速注入第三方bean对象3.@EnableXXXX 开启原理4.基于ImportBe ...

  9. python基础(1)--input print if else elif while 用法说明

    1 变量名的命名规则: 由数字,字母和下划线组成,但是不能以数字开头命名变量.例如 a ,b ,c ,name ,user1 user_id 等都可作为变量名称. 1a,2b 3cd等都不行.特别注意 ...

  10. JavaScript学习笔记(2)

    常用对象 Boolean Number String Array 数组 Date 日期 Math 数字 RegExp 正则 Global 全局 函数 var m = function(){} 事件 o ...