第二章 在Linux上部署.net core 搭建一个通用的.net core项目框架

项目目标部署环境:CentOS 7+html

项目技术点:.netcore2.0 + Autofac +webAPI + NHibernate5.1 + mysql5.6 + nginxnode

 开源地址:https://github.com/wmowm/nh.corepython

上一章已经讲解了项目的结构,相对来讲比较简单,适合新手,传送门 mysql

搭建一个通用的.net core项目框架

有小伙伴提问,ORM这块为何不用dapper或者EF,相对来讲,NHibernate仍是比较陌生,由于我也没用使用过Dapper或者EF,感兴趣的小伙伴,能够弄一个分支,作一个EF的DAL出来,model能够共用linux

好了,如今开始进入正题,如何将项目部署到linux上面呢?nginx

这里我一步步来说解,防止你们踩坑,里面借鉴不少博客资源,衷心的感谢git

第一步,在linux上安装mysqlgithub

安装mysql网上有不少教程,我这里就不详细介绍了,我安装的是mysql5.6,我是懒人,这里推荐你们一款linux管理软件appnode,能够一键安装软件,很是的方便,官网地址:https://www.appnode.com/ 里面有详细的安装教程,群友:简自豪,推荐的,它可不是狂小狗web

至关于一款可视化界面了,很是实用方便,装好mysql,就来讲说里面的坑sql

坑1. 开启远程访问权限

默认用户是root,没有密码,可是没有开通远程访问,咱们必须新建一个用户,并开启远程访问

坑2.权限问题

开启远程访问后,经过客户端能够正常连接mysql,此时须要开启该用户的权限

这里推荐这篇博客:https://www.cnblogs.com/zhchoutai/p/6929103.html 我是参考它实现的

 坑3.中文乱码问题

这里须要修改mysql的配置文件

这里参考这篇博客:https://www.cnblogs.com/beginner-boy/p/7643541.html

 

第二步,安装.net core SDK

坑1.网上的教程不少都是.net core 1.0的安装教程,若是跟着走,可能你装的SDK版本不对

这里推荐安装官网的教程,进行安装SDK 传送门 https://www.microsoft.com/net/learn/get-started/linux/centos  这里能够根据linux的版本进行选择

参考博客:http://www.cnblogs.com/GreedyL/p/7422796.html  我基本上是参考这篇博客,进行实现的

 

第三步,安装nginx

当你.net core程序能够正常访问后,此时咱们须要把默认的5000端口,映射到外网,这里借助nginx实现反向代理

安装nginx确定是借助appnode一件安装啦,固然你也能够本身手动安装,按照教程走,就能够了

坑1.映射静态资源

由于最开始我部署的是一个mvc项目,当时一些静态资源没法访问,如js.img... 这些须要在nginx进行配置,个人配置文件以下

 

 第四步 安装 supervisord

在控制台里运行.net core,当控制台关闭,咱们的程序也对应关闭了,这是咱们没法容忍了,因此咱们须要把它运行到后台,并且服务器重启,也须要后台程序自动启动,这里映入supervisord,它是python开发的

能够继续参考 http://www.cnblogs.com/GreedyL/p/7422796.html 这篇博客进行安装,并在配置文件夹写入咱们要启动的程序,如图

conf.d里面放咱们要启动的程序配置信息,当supervisord每次启动时,这样程序集也会被启动,个人配置以下

相对来讲,仍是很是简单的,作完这里恭喜你,你的.net core程序能够在linux上面跑了

今天我实现了webapi的接口,你们能够在mvc项目里测试的玩玩,效果图以下

代码示例:

以为对你有帮助的,能够在github给我点个星星,很是感谢

开源地址:https://github.com/wmowm/nh.core

 后续章节会讲解.net core,有不对的地方,欢迎大佬拍砖,以避免误人子弟,不甚感谢!

相关文章
相关标签/搜索