1..net Core2使用sqlservver、EFCore,部署在linux上将出错,具体是错原因大概是:连接超时的意思。=》就想测试下linux到底能不能连接sqlserver、是两者技术上不行还是我某处没有配置好=》但现在想在linux上找到较好的、图形化的管理-连接访问sqlserver好像有难度,我使用Navicat(linux版本)也不支持sqlserver。考虑到后期维护性,所以我不使用sqlserver、改用mysql了
=》mysql若本地(localhost)访问那无需特殊配置,若要支持远程ip访问需要配置权限(https://www.cnblogs.com/xiaochongzi/p/6627418.html),即使root账号也要配置允许的外部ip权限。
2.官方mysql EfCore对.NetCore 2会报错Message=Method 'Clone' in type 'MySQL.Data.EntityFrameworkCore.Infraestructure.Internal.MySQLOptionsExtension' from assembly 'MySql.Data.EntityFrameworkCore, Version=7.0.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' does not have an implementation.(https://www.cnblogs.com/zhouXX/p/7114111.html)目前无解、除非等待官方修复,只能使用非官方的Pomelo.EntityFrameworkCore.MySql
3.mvc core的appsettings.json默认不是热更新、修改后网站不重启不会生效。这点知晓下、要么重启网站、要么有其他热更新的方法。
4.其他总体没什么问题,按照教程来一步步做就好、有问题的话重新敲下命令行或者多百度。
参考资料:
部署:https://www.cnblogs.com/mengtree/p/7128246.html
sqlserver:https://www.cnblogs.com/JasonLong/p/5653273.html
mysql:http://blog.csdn.net/daye5465/article/details/77745136 ; http://blog.csdn.net/enlangs/article/details/54173126
微软官方文档:https://docs.microsoft.com/zh-cn/dotnet/core/get-started ;https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db ;https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc?tabs=aspnetcore2x
其他总结:
1.linux蕴含文件即配置的思路。一切都可以用配置来解决,而配置文件其实就是关于配置项、配置值的事情,关于哥哥系统模块业务不同而已。比如:apcache,也就是端口、对外访问权限、网站目录的关系。 不要排斥linux这种命令行、配置文件的思路、虽然没有微软图形化直观但是用多了也就习惯了。程序员应该接受这种思路,就是winform拖拉控件与mvc自己写代码的区别而已。
2.对网上的资料不要轻易相信。特别是系统核心目录、关键配置,轻信覆盖将导致大问题、若是线上环境就死定了。一定要有充分的了解、备份机制,才能做。(当然测试环境,稍微随意点也没关系)。我的linuxmint就被这文章(https://www.cnblogs.com/plums/archive/2013/04/24/linux-mint-configured-monitor.html?utm_source=tuicool)坑的启动错误、显示模块出问题而重装虚拟机了。
3.普通技术其实都不难、特别是有文档教程的技术,一步步做下来基本都没大问题。即使教程是英文版作为程序员也该硬啃下来、不难的、简单语法单词。 最难得是没有文档、文档不全、只说1不说2、后者前后置条件不充分的,这样的技术很难搞。
4.生产环境除非官方明确升降级ok、可兼容、并且预案,否则能用就用尽量别操作,除非旧有的模式不符合要求。测试环境随意但无妨。