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. ADB Fix error : insufficient permissions for device

    Ubuntu 15中在使用中Android开发板时,命令行下输入adb devices.adb shell会提示insufficient permissions for device. 通常重启下ad ...

  2. recv用TCP和TUDP下的区别

    recv是可以用在UDP套接字上的,前提是该套接字调用过bind或者connect,那它用在TCP和UDP套接字上时有什么区别呢? 下面做一个测试,分别使用UDP.TCP实现一对C/S.客户端发送12 ...

  3. MySQL字段数据全部查出【只保留中文、英文、数字、空格的词表】

    select * from xxx_xxx_bak where slot_type_id in ('xxx', 'xxx') ; by @大超超 记录备查

  4. LeetCode: Jump Game Total 解题报告

    Jump GameGiven an array of non-negative integers, you are initially positioned at the first index of ...

  5. LR中,URL -based script与HTML -based script区别

    在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...

  6. 页面获取不到spring实例化services解决方法

    WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); DaoSupport dao= (Da ...

  7. Android 后台发送邮件 (收集应用异常信息+Demo代码)

    上一次说了如何收集我们已经发布的应用程序的错误信息,方便我们调试完善程序.上次说的收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器.这个对做过web开发的人 ...

  8. Linux下grep、tail、wc、awk文件处理命令

    grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并匹配行打印出来. 命令语法: usage: grep [-abcDEFGHhIiJLlmnOoqRSsUV ...

  9. MySQL日志——二进制日志

    Mac怎么这么坑呢,搞了2小时了.唉 先来一个简单的,挖好坑,明天解决. 终端进入mysql: mysql> set global general_log=on; 然后进行数据库的任意操作: 查 ...

  10. Linux下用文件IO的方式操作GPIO(/sys/class/gpio)

    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...