Abp(.NetCore)开发与发布过程3-部署Ubuntu站点
以下是笔者在 Ubuntu 16.0-64bit 环境下 发布 ABP(.NetCore)的全过程。特此记录,希望对大家有所帮助。
准备的工具
1.PuTTY(ssh,如果不想每次都用阿里云的远程登录,那么可以试试这个。)
2.WinSCP(图形化SFTP客户端,美观又好用)
3.Ubuntu 16.0-64bit

Step 1 搭建 .NetCore运行环境
1)添加 dotnet apt-get 支持文件(Ubuntu 16.04 / Linux Mint 18环境)
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B02C46DF417A0893
sudo apt-get update
2)安装 .NET Core SDK
sudo apt-get install dotnet-dev-1.0.
检验安装结果: 运行 dotnet 后如果是如下结果,则说明安装成功

dotnet
Step 2 发布项目
习惯用命令行 发布项目(不知道什么时候养成的怪癖) 在项目的根目录里,有一个build文件夹,进入此文件夹,运行 build-mvc.ps1


cd C:\Users\Zac\Desktop\YourProductName\build
.\build-mvc.ps1
等待发布完成. . . 会发现生成了一个outputs文件夹,发布生成的文件全部打包至了Mvc文件夹中。

(up.ps1 和 down.ps1 是在需要发布到Docker容器中时使用的ps脚本。)
至此 发布工作已结束。
特别要注意:
当你的项目需要远程链接数据库时,请先配置好数据库服务器(包括登录用户权限设置,TCP UDP 开放端口设置。默认TCP端口1433,UDP端口1434,如果防火墙启动,需要将sqlserver.exe添加到允许列表。阿里云安全组设置等等...全是踩过的坑)
其次,注意配置好连接字符串,在 appsettings.json 中。
"ConnectionStrings": {
"Default": "Data Source=xx.xx.xx.xx; Initial Catalog=YourDB; User Id=sa; password=yourpassword; MultipleActiveResultSets=True;"
},
以下两种是错误的链接字符串配置:
"ConnectionStrings": {
"Default": "Server=xx.xx.xx.xx; Database=YourDb; User=zac; Password=123qwe;"
},
"ConnectionStrings": {
"Default": "Data Source=xx.xx.xx.xx\/YourDb; User=zac; Password=123qwe;"
},
在连接字符串错误的情况下,运行项目将导致以下错误发生:
Unhandled Exception: System.NotSupportedException: The keyword 'integrated security' is not supported on this platform.
Step 3 复制发布文件至服务器
之前提到的WinSCP该派上用场了。(WinSCP下载链接)
1)打开 WinSCP 链接至你的服务器。


如图,左边是本地文件资源,右边是服务器文件资源。支持在文件夹中拖拽上传文件。
2)将上一步发布的文件夹(MVC)上传至服务器。
如图所示,已经将所有生成的文件都上传至build文件夹下。
Step 4 运行
进入项目入口所在的文件夹(例如,你的项目名称为 MyProduct,那么运行的文件应该就是 MyProduct.Web.Mvc.dll,完整的路径就是 root/zac/Mvc/build/MyProduct.Web.Mvc.dll Linux下路径是区分大小写的)
cd zac/Mvc/build
运行 MyProduct.Web.Mvc.dll
dotnet MyProduct.Web.Mvc.dll
如果一切顺利的话,输出如下

一切OK 访问一下你的网站吧!(先别急,看看你的阿里云安全组有没有开发相应的端口。)

其他
.NetCore安装参考网址,https://www.microsoft.com/net/core#centos
.NetCore下载地址,https://www.microsoft.com/net/download#core
Abp(.NetCore)开发与发布过程3-部署Ubuntu站点的更多相关文章
- Abp(.NetCore)开发与发布过程
.NetCore 项目开发正当火热,ABP也推出了.NetCore的版本.趁此机会学习.NetCore的开发与发布过程.以下是本人的踩坑经验. 在ABP官网提供单页面应用开发框架(AngularJs) ...
- Abp(.NetCore)开发与发布过程2
在Abp(.NetCore)开发过程中遇到很多问题,今天记录下Abp的防CSRF功能(AntiForgeryToken ), 背景知识. AntiForgeryToken 可以说是处理/预防CSRF的 ...
- .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台。助力《2019 中国.NET 开发者峰会》。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 准备运行程序包... 2 3. 安装.netcore. 3 4. 安 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 基于.NetCore开发博客项目 StarBlog - (3) 模型设计
系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...
- .NET Core开发的iNeuOS物联网平台部署树霉派,从网关到云端整体解决方案。助力2019中国.NET峰会。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 树莓派硬件配置... 2 3. 软件信息... 3 4. Raspb ...
- .NET Core开发的iNeuOS物联网平台部署树霉派(raspbian),从网关到云端整体解决方案。助力2019中国.NET峰会。
2019 中国.NET 开发者峰会正式启动 目 录 1. 概述... 2 2. 树莓派硬件配置... 2 3. 软件信息... 3 4. Raspb ...
- VS2017中使用组合项目_windows服务+winform管理_项目发布_测试服务器部署
前言:作为一名C#开发人员,避免不了常和windows服务以及winform项目打交道,本人公司对服务的管理也是用到了这2个项目的组合方式进行:因为服务项目是无法直接安装到计算器中,需要使用命令借助微 ...
随机推荐
- linux开机启动smb服务
修改/etc/rc.local文件(增加红色部分) [root@localhost ~]# cat /etc/rc.local #!/bin/sh## This script will be exec ...
- Spring配置注解详解
- 优化mysql数据库的几个步骤
析问题: 1. 开启慢查询日志. 这个步骤就是为了记录慢查询的sql,为下个步骤做准备,此步骤相关的知识点有如下: 1. show variables like '%slow_query_log%'; ...
- Kafka 源代码分析之LogManager
这里分析kafka 0.8.2的LogManager logmanager是kafka用来管理log文件的子系统.源代码文件在log目录下. 这里会逐步分析logmanager的源代码.首先看clas ...
- HDFS Java API的使用举例
HDFS是Hadoop应用程序使用的主要分布式存储.HDFS集群主要由管理文件系统元数据的NameNode和存储实际数据的DataNodes组成,HDFS架构图描述了NameNode,DataNode ...
- python迭代器生成器(三)
扩展的列表解析语法 今天接着昨天的继续写. 列表解析可以变得更加复杂---例如,它可以包含嵌套的循环,也可能被编写为一系列的for子句.(这里只是简单介绍一下,以后再说这个语法的问题) 例如:构建一个 ...
- 将notepad++打造成java快速开发IDE
参考文章:http://blog.csdn.net/mdyyzc/article/details/7653096 有时候要试验一小段代码,打开eclipse又需要忍受漫长的煎熬(电脑配置较低,见谅). ...
- Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证
实验环境 两台Centos7 MySQL5.7.12 IP地址为:192.168.10.36 192.168.10.37 一台Centos7 Mycat IP地址为:192.168.10.31 一 ...
- Maven服务器搭建
Nexus服务器软件安装和配置 目前比较流行的使用nexus搭建maven私有服务器,其实很简单,它就是一个web系统,从官方下载的包默认内嵌了jetty容器,所以需要提前安装好JVM,并配置好环境变 ...
- hibernate的对象状态分析
开发框架 springMVC hibernate5.0.1 hibernate三种状态 Hibernate定义并支持下列对象状态(state): 临时状态(Transient) 当new一个实体对象后 ...