asp.net core + mysql + ef core + linux
asp.net core + mysql + ef core + linux
以前开发网站是针对windows平台,在iis上部署。由于这次需求的目标服务器是linux系统,就尝试用跨平台的.NET core来开发和部署。结果还是比较满意,整个过程如下,欢迎交流:
开发环境:
Win10
Vs2015 update3+.NET Core tools
.NET Core SDK
Mysql
运行环境:
Ubuntu 16.04
.NET Core SDK
Mysql
Nginx
开发过程
- 安装vs2015+update3;安装mysql(https://dev.mysql.com/downloads/installer/ )
- 安装 .NET core tools(https://www.microsoft.com/net/core#windowsvs2015 )
- 新建asp.net core项目
4.通过Nuget安装MySql.Data.EntityFrameworkCore,Microsoft.EntityFrameworkCore.Tools。
在project.json文件中tools配置中增加"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
5.在appsettings.json中添加数据库连接串配置。
6.项目中新增Models文件夹,添加User.cs
7.新增Data文件夹,添加ApplicationDbContext.cs,并修改Startup.cs文件中ConfigureServices方法。
8.新增Controller类UsersController.cs
9.新增视图,Create, Delete, Details, Edit 以及Index Razor 视图文件 (Views/Users)
10.在Views\Shared文件夹下新增部分视图_ValidationScriptsPartial.cshtml
11.修改Views\Shared\_Layout.cshtml,增加<li><aasp-area="" asp-controller="Users" asp-action="Index">Users</a></li>
12.打开命令行工具,导航到项目文件夹 D:\DotNetCore\TestWebApp\src\TestWebApp
运行以下两条命令:
dotnet ef migrations add Initial
dotnet ef database update
13.发布网站项目
发布前要修改Program.cs文件:
部署过程
- 把发布的文件夹PublishOutput上传到ubuntu虚拟机上。
- 在ubuntu上安装.net core sdk (https://www.microsoft.com/net/core#linuxubuntu )
- 在ubuntu上安装配置mysql,并配置mysql不区分表明大小写,将应用数据库从windows导入到ubuntu上。
- 按照文档https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction 方法部署网站应用。
结果展示
在其他主机上访问网站,能够成功浏览网页,进行操作。
最新文章
- mac 下JDK 与 tomcat 的安装与配置
- C#中DateTime.Ticks属性及Unix时间戳转换
- [AngularJS] 使用AngularAMD动态加载Service
- 【精心推荐】几款极好的 JavaScript 文件上传插件
- 对Oracle10g rac srvctl命令使用理解
- AX2012全新的批处理方式
- 利用Linux下的pthread_mutex_t类型来实现哲学家进餐问题
- Javascript 面向对象编程(一):封装 by 阮一峰
- BZOJ 1002 轮状病毒 (基尔霍夫矩阵)
- eclipse怎么连接到MySQL中的表!!!!!
- nginx 安装三方包重新编译
- 苹果App Store开发者帐户从申请,验证,到发布应用(2)
- Python面向对象 -- 继承和多态、获取对象信息、实例属性和类属性
- PLSQL使用scott登录
- vue scoped 深度作用选择器
- ES6.0简单了解
- 无损压缩PNG工具
- !DOCTYPE 声明
- CopyTransform
- 北大POJ题库使用指南
热门文章
- WIN7远程桌面重启、关机
- 1cocos2dx扩展UI控制,CCControlSlider,CCScale9Sprite(九妹图。),CCControlSwitch,CCControlButton
- java这些东西发展(4)-------无穷time of error
- IE6/7中li浮动外边距无法撑开ul的解决方法
- oracle实现自加力id
- 【jar包】Android——eclipse共享library以及导出jar包
- Asp.Net Web Api 接口,拥抱支持跨域访问。
- [转载]John Burkardt搜集的FORTRAN源代码
- Ubuntu下安装Pyqt4
- GMap.Net