2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器
title | author | date | CreateTime | categories |
---|---|---|---|---|
dotnet core 使用 sqlite 部署到 Centos 服务器
|
lindexi
|
2019-08-29 19:17:48 +0800
|
2018-09-27 20:46:48 +0800
|
dotnetcore aspdotnetcore asp 数据库 sqlite
|
本文告诉大家如何创建一个 asp dotnet core 程序,这个程序使用 sqlite 保存,部署程序到 Centos 7 服务器
创建项目
本文是在 Windows 使用 VisualStudio 开发,通过 VisualStudio 可以快速创建一个 asp dotnet core 程序
点击文件,新建一个 ASP.NET Core 程序
这里需要随意给一个项目的名,我这里给了 CataiLerlasur
随机的名,点击确定,选择 API 主要不要设置身份验证和启动 Docker 支持,关闭 https 这样才比较简单
创建模型
在项目右击创建文件夹,这个文件夹建议叫 Model 在这个文件夹里面创建一个类,这个类需要有一个属性是 id 至于创建的是 int 还是字符串都随意。我就创建了一个 Lindexi 的类
public class Lindexi
{
public string Id { get; set; } public string Blog { get; set; }
}
这样就创建完成了模型,下面需要创建对应的控制
右击添加控制器,请看下图
通过这个方式可以快速创建
现在可以选择模型类,也就是刚才创建的模型
然后点击加号添加上下文
添加上下文等待 VisualStudio 创建类
安装 Sqlite
通过 Nuget 的方式可以安装,在 Nuget 搜索 dotnet add package Microsoft.EntityFrameworkCore.Sqlite
就可以安装
设置连接
现在默认还没有使用 Sqlite 连接,需要在 Startup 类的 ConfigureServices 函数使用 Sqlite 连接
注意这里写的连接字符串是 Filename=./xx.db
这里的 xx.db 需要存在这个数据库,通过下面的命令行可以创建数据库
创建 Sqlite 数据库需要用到命令行,通过 cmd 命令行进入到对应的文件夹
如我刚才创建项目是在 D:\程序\ethylene156\CataiLerlasur\CataiLerlasur\
这个文件夹可以找到 CataiLerlasur.csproj
文件
输入下面两句代码
dotnet ef migrations add lindexi.github.io dotnet ef database update
如使用 PowerShell 请使用下面代码
Add-Migration InitialCreate Update-Database
现在可以看到项目多了一个文件 csdn.db
和 Migrations 文件夹
上面两句代码是的意思是创建迁移版本,更新数据。更多请看Entity Framework Core 之数据库迁移
部署服务器
在部署服务器之前先进行本地调试
在 LindexiController 的 GetLindexi 添加一些代码,这样可以在每次访问的时候都可以看到服务器将数据放在 Sqlite 而且在下一次使用的时候持久
这里添加的代码是如果 Sqlite 的数据太少了,就自动添加
public IEnumerable<Lindexi> GetLindexi()
{
if (_context.Lindexi.Count() < 10)
{
_context.Lindexi.Add(new Lindexi()
{
Blog = "http://blog.csdn.net/lindexi_gd"
}); _context.SaveChanges();
}
return _context.Lindexi;
}
这时还需要右击项目属性,点击调试,设置为默认打开浏览器就是打开 api/Lindexi
这样就可以调用刚才的 GetLindexi 方法
为什么需要设置路径是 api/Lindexi
请看 asp dotnet core 的路由
现在运行一下,可以看到出现了刚才放进去的字符
在部署到 Linux 之前,需要设置端口和 ip 才可以在本地访问服务器的程序,在 ASP.NET Core 设置端口的方法很简单,通过在 Program 类添加设置 UseUrls("http://0.0.0.0:5000")
就可以
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://0.0.0.0:5000")
.UseStartup<Startup>();
上面的方法是可以让运行的 asp dotnet core 程序监听 5000 端口
现在可以将所有文件上传到 Linux 服务器,如何上传文件到服务器请自己谷歌,上传的是代码,实际上我是复制 CataiLerlasur
文件夹到服务器
上传之后在 Linux 进入对应的文件夹,也就是 CataiLerlasur.csproj
所在的文件夹,运行 dotnet run
就可以。在运行 dotnet run 之前需要先安装完成 dotnet core 才可以,如何安装请看Install .NET Core SDK CentOS
在运行 dotnet run
就完成了在服务器部署了,现在可以在本地访问刚才的程序
在浏览器打开服务器的 ip 和端口号,输入 url 就可以看到访问的时候和本地调试一样的数据
这时的数据保存在 sqlite 文件,尝试将本地的 sqlite 文件替换到服务器,可以看到再次访问之后两条数据,也就是备份的时候只需要备份数据库就可以,数据库就是一个文件。如果想将自己的程序放在其他的服务器运行,也只需要复制整个文件夹就可以
用 Sqlite 可以简单将数据保存在服务器,只需要定期保存文件就可以,这个文件可以放在 Window 进行调试,也就是在 Window 和 Linux 可以使用相同的 Sqlite 这样开发很简单
从 Linux 服务器下载 sqlite 文件,推荐使用 sqlite expert 工具打开 sqlite 文件
点击打开数据库文件,点击对应的数据就可以看到写进入的,不需要通过写 sql 语句就可以创建一个表,在表里添加列
2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器的更多相关文章
- dotnet core 使用 sqlite 部署到 Centos 服务器
原文:dotnet core 使用 sqlite 部署到 Centos 服务器 本文告诉大家如何创建一个 asp dotnet core 程序,这个程序使用 sqlite 保存,部署程序到 Cento ...
- 部署.Net Core APi+Vue 到 linux centos 服务器(一)
部署.Net Core APi+Vue 到 linux centos 服务器(一) 前言:项目采用的是 .net core 作为接口,vue作为前端. 此时需要把整个项目架设到linux centos ...
- DotNet Core 2.0部署后外网IP访问
将DotNet Core2.0项目部署在Ubuntu上并且运行后,可以用localhost:5000来访问. 但是如果这时候用外网来访问就不行了. 这时候就有两种解决方案,第一种是用Nginx做代理实 ...
- Linux CentOS 7 下dotnet core webpai + nginx 部署
参考:https://www.jianshu.com/p/b1f573ca50c7 跟着做到,配置nginx访问dotnet core网站时,报错了. 错误如下所示—— 查看nginx的错误日志: c ...
- ASP.NET Core WebApi 项目部署到 IIS 服务器的总结
Point: - ASP.NET Core WebApi 项目 - 发布到 IIS 服务器 1. 选择 File System 2. 输入要发布到的路径 # 其它默认,直接发布 3. 打开 IIS,添 ...
- .Net Core 使用jenkins 部署到远程服务器docker
最近一直在研究docker和kubernetes,小型的项目其实也用不到k8s,本文就是描述如何用jenkins 进行构建asp.net core 3.1项目并且发布到远程服务器docker容器中.本 ...
- dotnet core webapi 发布部署到docker的步骤
1. 创建web api项目,编译并测试成功 2. 在项目的根目录添加Dockerfile文件,注意:Dockerfile文件名区分大小写 文件内容如下 # 基于microsoft/dotnet:la ...
- ASP.NET core 2.1部署到 Centos 7
步骤要点: 一.关闭Centos selinux: 操作方式: 1.永久关闭:打开/etc/selinux/config文件,设置SELINUX=disabled,注意,不是SELINUXTYPE=d ...
- .NET Core +Angular 项目 部署到CentOS
前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...
- dotnet core sdk 2.1 在centos下的安装
1. 安装微软的仓库 rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm 2. 修改仓库 ...
随机推荐
- Redis 分布式锁进化史
按:系统架构经过多年演进,现在越来越多的系统采用微服务架构,而说到微服务架构必然牵涉到分布式,以前单体应用加锁是很简单的,但现在分布式系统下加锁就比较难了,我之前曾简单写过一篇文章,关于分布式锁的实现 ...
- Win10操作系统安装—U盘作为启动盘—系统安装到固态硬盘中
利用U盘作为启动盘安装win10操作系统 1.U盘制作为启动盘,制作工具,我选择的是大白菜(个人觉得还是很好用的) 大白菜http://www.bigbaicai.com/rjjc/syjc/3269 ...
- 【vue】/vue-ele-project
作者大大的地址是:https://github.com/JinwenXie/vue-ele-project 还是老办法,先运行项目看看效果 我不算是外卖爱好者,不过觉得那个添加商品到购物车的动画效果很 ...
- 01Redis入门指南笔记(简介、安装、配置)
一:简介 Redis是一个开源的高性能key-value数据库.Redis是Remote DIctionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议 ...
- [BZOJ2729]排队
数学知识 排列 A(n,m)从n个元素中选出m个的不同的排列数 A(n,m)=n!/(n-m)! 组合 C(n,m)从n个元素中选出m个的不同的方案数 C(n,m)=n!/(m!*(n-m)! ...
- Python中的一些模块用法
python中os模块用法 python之模块之shutil模块 -------------------------------os模块-------------------------------- ...
- TZ_11_Spring-Boot的入门
1.SpringBoot的特点 为基于Spring的开发提供更快的入门体验 开箱即用,没有代码生成,也无需XML配置.同时也可以修改默认值来满足特定的需求 提供了一些大型项目中常见的非功能性特性,如嵌 ...
- redis缓存使用详解
mysql数据库是存在磁盘中的,操作是对于磁盘操作,这样访问量和并发很大时,运行速率就取决于磁盘的容量,带宽的大小和读取的方式,也就是 sql 语句,次数和效率也会影响读取效率.当访问量和并发很大的时 ...
- fedora input problem...
davelv最近很郁闷,因为他在Fedora 下用Eclipse写程序的时候,一旦有Eclipse实现了自动提示.代码补齐等功能后,键盘就失去相应,必须根据点右键或者切换窗口才能输入.就上网查,发现是 ...
- Win7。56个进程让我头疼
乱七八糟的进程一个一个往外蹦,如此痛苦. 安装了一个VM9,进程数量+5,安装了卖咖啡的,进程数量+5. 除去这10个,系统进程数量还有46个....还是太多... 64位系统,真的很痛苦,还没有怎么 ...