在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,发布的时候报错. 发布的时候报错,展示的信息是: 其实这里也大致能看到部分信息,但由于信息量太小,没办法知道 ...
随机推荐
- 线程安全的无锁RingBuffer的实现【一个读线程,一个写线程】
在程序设计中,我们有时会遇到这样的情况,一个线程将数据写到一个buffer中,另外一个线程从中读数据.所以这里就有多线程竞争的问题.通常的解决办法是对竞争资源加锁.但是,一般加锁的损耗较高.其实,对于 ...
- java中的不同的value类型从map中获取不同的value值
protected <V> V getValFromMap(Map<String, Object> headers, String name, Class<V> t ...
- jsp传给java属性,java生成json串,方便以后取出来
前台代码 $.ajax({ url : '<%=basePath%>userorderother/canUpdateCust.do', type : 'POST', data: {'kdc ...
- vue前后分离动态路由和权限管理方案
需求 需要根据不同的角色来显示不同的菜单 问题 系统是前后分离模式开发的,出现了后端接口和前端路由都需要权限管理. 思路 后端的接口肯定得验证权限 在前端做好组件名和组件的映射 前端的路由通过后端发回 ...
- 一键安装mysql
#!/bin/bash # # Rrogram: # install mysql # History: # -- luoqi v0. release # email: # @qq.com #以下rpm ...
- 微信web开发者工具同时打开两个小程序项目
在写小程序时,想要一边参考别人的Demo一边做,但是微信web开发者工具无法同时开两个实例,怎么办? 单个软件实例来回切换打开的项目太麻烦,一种办法是同时下载[微信web开发者工具]和[微信web开发 ...
- OKR
不得不佩服老外对概念的提炼能力.一套一套的. Mission Vision Strategic Objectives Key Results Tasks
- [Linux]如何查看系统的Time Slice
Linux Time Slice 首先,.config中查看kernel configure中CONFIG_HZ值,比如100 然后,查看include/linux/sched/rt.h或者inclu ...
- Quartz TriggerListener 触发器监听器
Quartz Scheduler 可以对Trigger建立一个监听器,分别对Trigger的各种状态进行监听 实现监听器需要实现TriggerListener接口,然后注册到Scheduler上就可 ...
- c语言编程-----指向二维数组的指针
c中如何返回一个指向二维数组的指针 #include <stdio.h> #include <stdlib.h> #define COUNT 3 typedef int (*M ...