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

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

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

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

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

有小伙伴提问,ORM这块为什么不用dapper或者EF,相对来说,NHibernate还是比较陌生,因为我也没用使用过Dapper或者EF,感兴趣的小伙伴,可以弄一个分支,做一个EF的DAL出来,model可以共用

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

这里我一步步来讲解,防止大家踩坑,里面借鉴很多博客资源,衷心的感谢

第一步,在linux上安装mysql

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

相当于一款可视化界面了,非常实用方便,装好mysql,就来说说里面的坑

坑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,有不对的地方,欢迎大佬拍砖,以免误人子弟,不甚感谢!

第二章 在Linux上部署.net core的更多相关文章

  1. 在Linux上部署DotNet Core项目的时候发现Apache无法转发Kestrel的5000端口的问题

    CentOS服务器上使用Apache托管Dotnet Core2,服务启动了,端口也打开了.在本地使用curl命令可以访问5000端口的网页内容,但是访问Apache的端口却无法获取到网页的内容.想起 ...

  2. So Easy - 在Linux服务器上部署 .NET Core App

    .NET Core 是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...

  3. CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. 在linux上部署tomcat服务

    在linux上部署tomcat 1.安装JDK 2.下载tomcat http://tomcat.apache.org/download-70.cgi 3.上传到服务器,并解压 4.上传war包或者已 ...

  5. 第二章、 Linux 如何学习

    第二章. Linux 如何学习 最近更新日期:2009/08/06 1. Linux当前的应用角色 1.1 企业环境的利用 1.2 个人环境的使用 Linux当前的应用角色 在第一章Linux是什么当 ...

  6. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  7. IIS上部署Net.Core

    部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...

  8. Linux上部署SVN

    Linux上部署SVN author:headsen chen  2017-10-16  16:45:04 前提:通过yum来安装,必须是centos6.5的桌面版的.否则会出现某些的安装包不全而导致 ...

  9. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

随机推荐

  1. prism behavior图示

    原文:prism behavior图示 怕以后丢失,还是发一下,看起来可能会比较乱

  2. WPF中桌面屏保的制作(主要代码)

    原文:WPF中桌面屏保的制作(主要代码) 制作要点:(1) 使用System.Windows.Threading.DispatcherTimer;(2) 将Window属性设置为:      this ...

  3. 机器学习 vs. 深度学习

    1. bias/vairance Trend # 1:Scale driving Deep Learning process. 2. feature learning 的方式 A common com ...

  4. 受限玻尔兹曼机(RBM)以及对比散度(CD)

    1. RBM 的提出 BM 的缺点: 计算时间漫长,尤其是无约束自由迭代的负向阶段: 对抽样噪音敏感: 流行软件的不支持: 受限玻尔兹曼机(Restricted Boltzmann Machine,简 ...

  5. XDEBUG+PHPSTORM 开发 调试

    原文:XDEBUG+PHPSTORM 开发 调试 XDEBUG+PHPSTORM 开发 调试 在我们开发过程中.我们如果经常性的echo.dump效率很低.所以我们就可以使用xdebug进行断点调试. ...

  6. WPF特效-绘制实时2D激光雷达图

    原文:WPF特效-绘制实时2D激光雷达图 接前两篇: https://blog.csdn.net/u013224722/article/details/80738619 https://blog.cs ...

  7. 利用花生壳对windows server进行远程桌面

    花生壳内网穿透 http://service.oray.com/question/1824.html windows server "允许远程协助连接这台计算机" 需要在服务器管理 ...

  8. WPF Button控件模板

     <Window x:Class="ControlTemplateDemo.MainWindow"        xmlns="http://schemas.m ...

  9. WPF 简单打印

    <Window x:Class="_096基本打印.MainWindow"        xmlns="http://schemas.microsoft.com/w ...

  10. 一个字体,大小,颜色可定义的自绘静态框控件-XColorStatic 类(比较好看,一共19篇自绘文章)

    翻译来源:https://www.codeproject.com/Articles/5242/XColorStatic-a-colorizing-static-control XColor Stati ...