在Centos7下发布.NET CORE项目[转]
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命令
7.访问发布站点
在浏览器下,访问站点成功。
在服务器后台可看到处理信息。
7.在firewall下添加站点端口
输入添加端口命令:
#firewall-cmd --zone=public--add-port=5000/tcp –permanent #添加5000端口
#firewall-cmd –reload #重载firewall
#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 #解压文件
安装配置之前需要先在线下载编译时依赖的类库。
执行./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项目指南
请参考微软官方指南:
在Centos7下发布.NET CORE项目[转]的更多相关文章
- 在IIS下发布.Net Core MVC项目
1. 默认你已经安装了IIS,并且创建了一个.Net Core 项目 2. 发布.NET Core项目 在vs中右键点击MVC项目,点击"发布"按钮,选择"文件系统&qu ...
- .NET Core项目部署到Linux(Centos7)(六)发布.NET Core 项目到Linux
目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...
- Nginx知多少系列之(五)Linux下托管.NET Core项目
目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...
- CentOS下搭建.NET Core项目运行环境
系统版本:CentOS 7.3 运行环境:.NET Core 数据库:MySQL 进程守护:Supervisor .NET Core环境 安装CentOS中.NET Core依赖库 yum insta ...
- 在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目
这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴. Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可 ...
- Docker 简单发布dotnet core项目 图文版
原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 需要结合这个版本看哈 地址:https://ww ...
- Docker 简单发布dotnet core项目 文本版
原文:https://www.cnblogs.com/chuankang/p/9474591.html docker发布dotnet core简单流程 照着步骤来基本没错 但是有几个要注意的地方: v ...
- Linux环境下发布.net core
一.安装Linux环境 1. 安装VM虚拟机和操作系统 VM虚拟工具安装的过程详见:http://blog.csdn.net/stpeace/article/details/78598333.直接按照 ...
- 发布.net core项目 System.AggregateException: 发生一个或多个错误
背景:之前创建.net core webapi项目的时候SDK是2.2的版本,后改成2.1,发布的时候报错. 发布的时候报错,展示的信息是: 其实这里也大致能看到部分信息,但由于信息量太小,没办法知道 ...
随机推荐
- spring util list
spring 3.0 after <util:list/>元素 借助<list/>元素,开发者能够定义java.util.List集合.下面摘录了list.xml中的配置信息. ...
- spring AspectJ切入点语法详解 记录以便查阅
AspectJ切入点语法详解 6.5.1 Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spri ...
- R语言统计分析应用与SAS、SPSS的比较
能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语言,Matlab,S-PLUS,S-Miner等.下面我们来看一下各应用的特点: SPSS: 最简单的,都是菜单操作 ...
- 树型结构递归 实体递归 JSON格式
用递归实现无限级菜单,产品分类,盖楼式评论.留言等功能. 下列代码不能直接使用 CREATE TABLE [dbo].[P_Category]( [Code] [varchar](36) NOT NU ...
- JavaScript高级 面向对象(11)--对象的动态特性-关联数组用法
说明(2017.4.2): 1. 对象的动态特性: (1)在js中,一个对象需要属性,就可以利用“对象名.属性 = 值”的方式为其添加,只要赋值成功,对象就新增这个属性. (2)对象属性的访问形式: ...
- C# using关键字 --转
其实对于.NET的学习者一开始都接触using这个关键字了,可能大家没有怎么在意,包括我本人也是的,直到今天有人问我using的作用时,才引起了我的注意. 概况来说可以分为两种:第一种,就 ...
- USB入门
简述 USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2 ...
- Linux下架构高可用性网络----HA+LB+lvs
实验总拓扑: IP规划: Director1: eth0 192.168.10.136/28 eth1 192.168.11.2/24 Director2: eth ...
- [算法]从一道题引出variable-precision SWAR算法
苏君君出了一道题,是牛客网上面的: 输入一个int型整数,输出该数二进制表示中1的个数.其中负数用补码表示. 其实这道题并不难,大家很容易想到的解法是转成字符串的思路,即如下所示: public st ...
- hbase源码系列(八)从Snapshot恢复表
在看这一章之前,建议大家先去看一下snapshot的使用.这一章是上一章snapshot的续集,上一章了讲了怎么做snapshot的原理,这一章就怎么从snapshot恢复表. restoreSnap ...