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个项目的组合方式进行:因为服务项目是无法直接安装到计算器中,需要使用命令借助微 ...
随机推荐
- ICG_System之全自动代码生成器V2.0版本
大家好! 早在2014年本人就已经利用业余时间开发自己的ICG之代码生成器系统.依靠bootstrap的崛起本人也在不断完善此应用.目的是为了减少开发人员的工作量. 减少不必要的复制粘贴操作,该系统已 ...
- webdriver API中文文档
1.1 下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniu ...
- 【Android Developers Training】 38. 文件共享需求
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 12.exception对象
excepton对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生了这个对象,如果一个jsp页面要应用此对象,就必须把isErrorPage设置为true,否则无法编译.它实际上是java. ...
- 怎么利用composer创建laravel项目
前提:已经安装了composer的电脑 创建laravel项目: 第一步: 找到你要创建文件的地方 然后打开doc,输入:composer create_project laravel/laravel ...
- 分页插件Jpages的使用
项目原因需要前端做分页表格,之前做了一个ul的分页效果,但是感觉自己写还是造轮子了,今天网上看到Jpqges插件就试了下,感觉平时使用挺方便的,写一下自己的使用过程. 先上套图,下载下来就2个js和1 ...
- 【SEO】搜索引擎优化的陷阱和作弊
一.认识SEO [理解] 站内优化是指更改网站内部结构,让网站利于蜘蛛爬取,比如网站内容: 站外优化是指发反向链接,给蜘蛛一个爬取你网站的通道. 其中,反向链接是指网页A 上有一个链接指向网页B,则网 ...
- 怎样把echarts图表做成响应式的
如果想要把echarts图表给做成响应式的那么就应该用rem 单位,给图表的外围容器设置rem 单位,然后调用jquery 的resize方法,$(window).resize(function(){ ...
- POJ 2296 Map Labeler / ZOJ 2493 Map Labeler / HIT 2369 Map Labeler / UVAlive 2973 Map Labeler(2-sat 二分)
POJ 2296 Map Labeler / ZOJ 2493 Map Labeler / HIT 2369 Map Labeler / UVAlive 2973 Map Labeler(2-sat ...
- 怎么在linux ubuntu 上的nginx 绑定域名
前一篇介绍了,如果在ubuntu上运行nodejs,毕竟访问的时候都是用ip地址+端口号,但是上production 环境都需要域名的,IP地址当然不行 读过上一篇的朋友知道了,如果在upstart ...