在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,发布的时候报错. 发布的时候报错,展示的信息是: 其实这里也大致能看到部分信息,但由于信息量太小,没办法知道 ...
随机推荐
- ADB Fix error : insufficient permissions for device
Ubuntu 15中在使用中Android开发板时,命令行下输入adb devices.adb shell会提示insufficient permissions for device. 通常重启下ad ...
- recv用TCP和TUDP下的区别
recv是可以用在UDP套接字上的,前提是该套接字调用过bind或者connect,那它用在TCP和UDP套接字上时有什么区别呢? 下面做一个测试,分别使用UDP.TCP实现一对C/S.客户端发送12 ...
- MySQL字段数据全部查出【只保留中文、英文、数字、空格的词表】
select * from xxx_xxx_bak where slot_type_id in ('xxx', 'xxx') ; by @大超超 记录备查
- LeetCode: Jump Game Total 解题报告
Jump GameGiven an array of non-negative integers, you are initially positioned at the first index of ...
- LR中,URL -based script与HTML -based script区别
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- 页面获取不到spring实例化services解决方法
WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); DaoSupport dao= (Da ...
- Android 后台发送邮件 (收集应用异常信息+Demo代码)
上一次说了如何收集我们已经发布的应用程序的错误信息,方便我们调试完善程序.上次说的收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器.这个对做过web开发的人 ...
- Linux下grep、tail、wc、awk文件处理命令
grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并匹配行打印出来. 命令语法: usage: grep [-abcDEFGHhIiJLlmnOoqRSsUV ...
- MySQL日志——二进制日志
Mac怎么这么坑呢,搞了2小时了.唉 先来一个简单的,挖好坑,明天解决. 终端进入mysql: mysql> set global general_log=on; 然后进行数据库的任意操作: 查 ...
- Linux下用文件IO的方式操作GPIO(/sys/class/gpio)
通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...