1.安装安装前准备开发环境

编译类库:yum -y install gcc make gcc-c++ openssl-devel

系统信息:

CentOS Linux release 7.2.1511 (Core)

Kernel: Linux 3.10.0-327.el7.x86_64

2.安装SDK过程

安装libunwind

#yum install libunwind

安装libicu

#yum install libicu

下载dotnet.tar.gz文件。在线下载安装命令:curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=827529

下载成功后进行安装,安装命令:mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

执行命令后,安装成功。

输入dotnet命令可查看到相关的命令使用方法。

#dotnet –verion 查看dotnet的版本信息。

安装SDK或者部署过程可参考微软官方的步骤。

该截图安装SDK步骤是官方提供的。

3.执行Dotnet Restore命令

 

通过ftp工具(FileZilla)将整个项目文件夹上传到linux服务器中。

在服务器下输入cd /usr/local/wwwroot/进入到目录下可查看到上传文件夹demo,如果该文件夹没有操作操作权限可进行授权。

进入到demo目录执行命令:

#dotnet restore

dotnet restore主要是做了:寻找当前目录下的项目文件(project.json),然后利用NuGet库还原整个项目的依赖库,然后遍历每个目录,生成项目文件,继续还原该项目文件中的依赖项。

4.执行Dotnet Publish命令

执行dotnet publish命令,进行发布,当然也可以在发布之前,修改配置文件,例如修改数据库连接配置,找到相关的json配置文件,修改配置保存再进行发布。

我们可以使用more appsettings.json命令查看数据库的连接配置信息,如果需要修改输入vi appsettings.json命令进行编辑文件,修改数据库信息。

发布成功。

6.执行Dotnet Run命令

发布成功后,需要执行dotnet run命令,运行启动站点,可从Now Listening on :http://10.190.190.78.5000看出该站点的访问url地址。

7.访问发布站点

在浏览器下,访问站点成功。

在服务器后台可看到处理信息。

7.在firewall下添加站点端口

 

输入添加端口命令:

#firewall-cmd --zone=public--add-port=5000/tcp –permanent  #添加5000端口

#firewall-cmd –reload   #重载firewall

 
输入firewall-cmd --list-all查看防火墙所有开放的端口。

#firewalld-cmd --list-all

8.附录

8.1运行dotnet publish提示npm错误

当出现该错误时,因为.NET CORE的jquery和bootstrap的加载是通过bower的,而bower是需要npm的,所以需要安装nodejs,Nodejs中包含了npm包。

安装nodejs有两种方式,其中一种是使用在线安装方式,另外一种是使用源码安装方式。

Yum在线安装方式

输入命令:curl --silent --location https://rpm.nodesource.com/setup_4.x|bash -

在线安装之前需要输入一下命令,才能使用yum进行安装nodejs,安装命令:yum install nodejs

可根据需求,安装不同版本:

Run as root on RHEL, CentOS or Fedora, forNode.js v4 LTS Argon:

curl --silent --location https://rpm.nodesource.com/setup_4.x|bash -

Alternatively for Node.js v6:

curl --silent --location https://rpm.nodesource.com/setup_6.x |bash -

Alternatively for Node.js 0.10:

curl --silent --location https://rpm.nodesource.com/setup |bash -

输入后输入在线安装命令。 yum install nodejs

安装成功后,输入node –v或npm –v查看版本命令。

源码安装模式:

下载源码吗后,上传到服务器中。

#chmod 766 node-v4.5.0.tar.gz       #修改文件操作权限

#tar -zxvf node-v4.5.0.tar.gz          #解压文件

安装配置之前需要先在线下载编译时依赖的类库。

下载命令:yum install gcc make gcc-c++ openssl-devel
 
 

执行./configure命令

编译,并且安装。

8.2运行dotnet publish提示bowser和gulp

 

当安装完nodejs后,再次运行dotnet publish命令后,又出现错误提示。需要再次进行bower和gulp安装。

输入安装命令:

#npm install -g bower            #-g表示全局安装

#npm install -g gulp

如果遇到bower ESUDO Cannot be run with sudo的提示,则是你用root权限执行,bower默认不允许以root权限执行命令。那么就带上一个参数–allow-root,如下:

bower install --allow-root

 

查看gulp和bower版本。请注意必须安装过npm才能进行安装bower和gulp。

8.3官方部署DOTNET CORE项目指南

 

请参考微软官方指南:

https://www.microsoft.com/net/core#centos

在Centos7下发布.NET CORE项目[转]的更多相关文章

  1. 在IIS下发布.Net Core MVC项目

    1. 默认你已经安装了IIS,并且创建了一个.Net Core 项目 2. 发布.NET Core项目 在vs中右键点击MVC项目,点击"发布"按钮,选择"文件系统&qu ...

  2. .NET Core项目部署到Linux(Centos7)(六)发布.NET Core 项目到Linux

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  3. Nginx知多少系列之(五)Linux下托管.NET Core项目

    目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...

  4. CentOS下搭建.NET Core项目运行环境

    系统版本:CentOS 7.3 运行环境:.NET Core 数据库:MySQL 进程守护:Supervisor .NET Core环境 安装CentOS中.NET Core依赖库 yum insta ...

  5. 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目

    这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...

  6. Docker 简单发布dotnet core项目 图文版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...

  7. Docker 简单发布dotnet core项目 文本版

    原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 照着步骤来基本没错 但是有几个要注意的地方: v ...

  8. Linux环境下发布.net core

    一.安装Linux环境 1. 安装VM虚拟机和操作系统 VM虚拟工具安装的过程详见:http://blog.csdn.net/stpeace/article/details/78598333.直接按照 ...

  9. 发布.net core项目 System.AggregateException: 发生一个或多个错误

    背景:之前创建.net core webapi项目的时候SDK是2.2的版本,后改成2.1,发布的时候报错. 发布的时候报错,展示的信息是: 其实这里也大致能看到部分信息,但由于信息量太小,没办法知道 ...

随机推荐

  1. 线程安全的无锁RingBuffer的实现【一个读线程,一个写线程】

    在程序设计中,我们有时会遇到这样的情况,一个线程将数据写到一个buffer中,另外一个线程从中读数据.所以这里就有多线程竞争的问题.通常的解决办法是对竞争资源加锁.但是,一般加锁的损耗较高.其实,对于 ...

  2. java中的不同的value类型从map中获取不同的value值

    protected <V> V getValFromMap(Map<String, Object> headers, String name, Class<V> t ...

  3. jsp传给java属性,java生成json串,方便以后取出来

    前台代码 $.ajax({ url : '<%=basePath%>userorderother/canUpdateCust.do', type : 'POST', data: {'kdc ...

  4. vue前后分离动态路由和权限管理方案

    需求 需要根据不同的角色来显示不同的菜单 问题 系统是前后分离模式开发的,出现了后端接口和前端路由都需要权限管理. 思路 后端的接口肯定得验证权限 在前端做好组件名和组件的映射 前端的路由通过后端发回 ...

  5. 一键安装mysql

    #!/bin/bash # # Rrogram: # install mysql # History: # -- luoqi v0. release # email: # @qq.com #以下rpm ...

  6. 微信web开发者工具同时打开两个小程序项目

    在写小程序时,想要一边参考别人的Demo一边做,但是微信web开发者工具无法同时开两个实例,怎么办? 单个软件实例来回切换打开的项目太麻烦,一种办法是同时下载[微信web开发者工具]和[微信web开发 ...

  7. OKR

    不得不佩服老外对概念的提炼能力.一套一套的. Mission Vision Strategic Objectives Key Results Tasks

  8. [Linux]如何查看系统的Time Slice

    Linux Time Slice 首先,.config中查看kernel configure中CONFIG_HZ值,比如100 然后,查看include/linux/sched/rt.h或者inclu ...

  9. Quartz TriggerListener 触发器监听器

    Quartz  Scheduler 可以对Trigger建立一个监听器,分别对Trigger的各种状态进行监听 实现监听器需要实现TriggerListener接口,然后注册到Scheduler上就可 ...

  10. c语言编程-----指向二维数组的指针

    c中如何返回一个指向二维数组的指针 #include <stdio.h> #include <stdlib.h> #define COUNT 3 typedef int (*M ...