.NET Core项目部署到linux(Centos7)

1.开篇说明

  a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结(.NET Core跨平台:使用.NET Core开发一个初心源商城总括),那么这篇博客我们就在上一篇博客的基础上对其代码进行部署,将其部署在Linux Centos7下。

  b 这周周二,也就是3月7号,微软发布了最新的开发工具(Visual Studio 2017),简单看了一下,带来了更好的开发体验,也推动了跨平台开发的一大步,未来.NET的跨平台将更加的成熟。

  c 下面我们将一个.NET Core项目利用Jexus部署到linux下,那么如果我们要将一个.NET Core项目部署到linux服务器下,需要准备下面的几个东西(Linux服务器,Jexus,安装数据库的服务器,其它(Redis)等)。

  d 下面我们开始大致演示一下如何将.NET Core项目部署到linux服务器下,测试地址:http://www.chuxinm.com/


2.Jexus简单说明

  a 官网地址:http://www.jexus.org/

  b 关于Jexus的安装,我以前也写过一篇文章,地址是(http://www.cnblogs.com/hanyinglong/p/5456757.html),我写的这篇文章是基于Mono安装的,什么意思呢,也就是说要安装Jexus,就要安装Mono,但是现在Jexus提供了免Mono安装的方案,非常方便,大家可以体验一下,如果安装遇到什么问题,大家可以在官网或者其他地方进行查询解决。

  c Jexus快捷安装((一对命令将会安装成功Jexus))

    1.安装:sudo curl jexus.org/release/install | sh

    2.更新:sudo curl jexus.org/release/upgrade | sh

    说明:使用这种命令的安装方法将会吧Jexus安装到/usr/jexus 位置。

回到顶部

3.Visual Studio 2015本地发布并且测试

  a 在本地系统开发完成之后,首先我们需要在本地发布进行测试一下,如果不报错,则上传到服务器

  b 本地项目结构如下图所示:我们就基于本项目进行发布部署到Linux下。

    

    b.1 首先打开cmd,切换到项目所在盘符下,将项目切换到src根目录下(../src/项目名称下),运行命令dotnet publish,运行不报错则本地发布成功,如图所示执行成功之后也展示了将项目发布到什么地方的路径。

    

    b.2 如上图所示,我们跳转到发布的路径下(项目根目录下/bin/Debug/netcoreapp1.0/publish下/),运行命令:dotnet ProgrammersLiveShow.dll ,根据提示访问地址,可本地测试吗,如图所示:

    

  c 如上图所示,我们按照访问路径(http://localhost:5000/),如果访问成功,则证明本地发布没有任何问题,如下图所示:如有操作登录的功能,则进行系统登录测试,确认没有任何问题在进行发布。 

     

回到顶部

4.配置Jexus并且部署.NET Core说明

  a 上述步骤中我们简单说明了一下系统的一些功能以及本地发布,现在我们来简单说明一下如何配置Jexus,因为以前安装过jexus,我们直接在Linux下找到安装的路径,如图所示:

    

  b 如上图所示,我们看到了jexus的安装目录,Jexus的配置其实也很简单,首先我们打开网站配置文件夹siteconf,然后打开默认的default文件,看到如下图所示的配置,配置上简单的说明如下:

            

  c 如上图所示,我们将其项目部署到系统(/var/www/default/publish)下

    

  d 首先我们将本地发布的文件上传到服务器上,直接将本地的publish文件夹上传到/var/www/default下,如下图所示

    

  e 因为我现在系统本身已经发布,所以需要将现在后台运行的线程关闭(执行下面两条命令之后,则已经上线的系统会不能访问),如果是首次发布,则不需要进行这一步,命令如下,如图所示:

    (1):ps -ef | grep ProgrammersLiveShow.dll  

    (2):kill -9 PID

    

  f 上传完成之后,系统跳转到publish下,执行dotnet ProgrammersLiveShow.dll,运行成功并且可以访问,则说明发布才成功,但是这样有一个弊端,就是发布之后不能关闭Xshell,如果关闭则默认程序会推出,所以,我们可以使用下面的命令直接将其设置为在后台运行

        命令如下:nohup dotnet ProgrammersLiveShow.dll &

    

  g 上述步骤全部执行完成之后使用服务器域名加80端口号既可以进行访问,这里可能存在配置80端口号对外访问的权限,在下面会简单说明

回到顶部

5.其它知识点总结

    a 在系统频繁的更新中,做好备份是很关键的一件事情,在每次的上线替换系统之前都要执行如下命令进行备份:

        tar zcvf /var/www/default/remark/(日期)publish.tar.gz /var/www/default/publish/

    b Centos7开放端口,Centos7和7以前开放端口的实现不一致.

        b.1 Centos升级到7之后,发现无法使用iptables控制Linuxs的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口

        b.2 开启端口: firewall-cmd --zone=public --add-port=80/tcp --permanent   --zone #作用域  --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 

        b.3 重启防火墙 firewall-cmd --reload 

        b.4 开启防火墙: systemctl start firewalld

原文地址:http://www.cnblogs.com/hanyinglong/p/6539344.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020蓝桥杯省赛---java---B---1(指数计算)

题目描述 代码实现 解法一 计算器 解法二 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input new Scanner(System.in);int a1,b1921,c7;for (int i 0; i < 2020; i) {aa*7;if(a>1…

ASP.NET Core 优雅的在开发环境保存机密(User Secrets)

前言 在应用程序开发的过程中&#xff0c;有的时候需要在代码中保存一些机密的信息&#xff0c;比如加密密钥&#xff0c;字符串&#xff0c;或者是用户名密码等。通常的做法是保存到一个配置文件中&#xff0c;在以前我们会把他保存到web.config中&#xff0c;但是在ASP.NET C…

震惊,中国历朝历代疆域变迁视频【高清】

中国历代疆域指的是从古至今中国领土变化过程的历史&#xff0c;期间经过数千年的发展历程。 中国疆域自远古以来不断演进变化&#xff0c;从《尚书禹贡》九州开始直到唐朝极盛时疆域:被认为是中国疆域原型。至元朝时不仅统一中国&#xff0c;西藏地方从此正式纳入中国中央政府…

2020蓝桥杯省赛---java---B---2(指数计算)

题目描述 【问题描述】 小明设计了一种文章加密的方法&#xff1a;对于每个字母 c&#xff0c;将它变成某个另外的字符 Tc。下表给出了字符变换的规则&#xff1a; 例如&#xff0c;将字符串 YeRi 加密可得字符串 EaFn。 小明有一个随机的字符串&#xff0c;加密后为 EaF…

java项目新东方在线源码_[VIP源码]【S019】SSM框架开发智夫子在线考试系统项目源码 百度云盘...

java源码项目名称&#xff1a;SSM框架开发智夫子在线考试系统项目源码ssm项目源码5 y& C [0 w! J% F1 n8 z J百度网盘下载链接&#xff1a;4 B i* }. G4 }8 |7 l% G8 游客&#xff0c;如果您要查看本帖隐藏内容请->>回复[/hide]_* r Q0 _! W1 K4 Q" U6 F密码: …

关于Dapper.NET的相关论述

年少时&#xff0c;为何不为自己的梦想去拼搏一次呢&#xff1f;纵使头破血流&#xff0c;也不悔有那年少轻狂。感慨很多&#xff0c;最近事情也很多&#xff0c;博客也很少更新了&#xff0c;毕竟每个人都需要为自己的生活去努力。 最近在一个群里遇到一个人说的话&#xff0c…

数年之前的寒假

版权声明&#xff1a;文章可以随便转载&#xff0c;但是转载时带上原文地址来源&#xff0c;侵权必究 https://blog.csdn.net/qq_34137397/article/details/54882702对于上学的孩子来说每年都有寒假&#xff0c;可是一样的寒假总是不一样的玩法。自从高中毕业之后&#xff0c;很…

js object 常用方法总结

转载自 js object 常用方法总结 Object.assign(target,source1,source2,...) 该方法主要用于对象的合并&#xff0c;将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身属性&#xff0c;不拷贝继承的属性。 Object.assign方法实行的是浅拷贝&…

发布 ASP.NET Core 应用

第一步&#xff1a;运行 dotnet restore 命令&#xff0c;以还原项目中指定的依赖项 1 dotnet restore 第二步&#xff1a;使用 dotnet build 命令为目标平台上的应用创建调试版本。 如果不指定想要生成的运行时标识符&#xff0c;则 dotnet build 命令将会创建仅适用于当前系统…

继承类对方法的影响java_4-Java面向对象-继承(上)

什么是继承?继承有哪些特点?我们在Java中如何实现继承?程序中的继承(面向对象编程思想来源于生活):解决重复代码的出现问题。抽取共性生成父类。此时猫和狗直接继承父类将可以直接使用父类的这些成员属性和方法。此时子类当中的方法就可以只写子类所特有的东西。特点: 1. 利…

javaSE基础代码案例

package org.test; import java.util.Arrays; import java.util.Scanner;/*** * 项目名称&#xff1a;Test * 类名称&#xff1a;TestMain * 类描述&#xff1a; * 创建人&#xff1a;Mu Xiongxiong * 创建时间&#xff1a;2018-3-29 下午3:49:00 * 修改人&…

迪杰斯特拉算法(最短路径)

描述 算法过程 代码实现 package com.atguigu.dijkstra;import com.sun.xml.internal.fastinfoset.algorithm.BooleanEncodingAlgorithm;import javax.sound.midi.Soundbank; import java.util.Arrays; import java.util.TimerTask;public class DijkstraAlgorithm {public st…

MySQL instr()函数

转载自 MySQL instr()函数 MySQL INSTR函数简介 有时&#xff0c;您想要在字符串中查找子字符串或检查字符串中是否存在子字符串。在这种情况下&#xff0c;您可以使用字符串内置INSTR()函数。 INSTR()函数返回字符串中子字符串第一次出现的位置。如果在str中找不到子字符串…

如何给视频中插入视频,字幕,以及去掉前后广告

昨天白天接到了一个这样的需求&#xff0c;就是剪辑一段视频&#xff0c;给视频中加入插入一个剪短的介绍&#xff0c;然后把没有用的截取掉。 看起来很简单&#xff0c;确实&#xff0c;利用常用的视频剪辑软件就可以直接实现&#xff0c;但是事实并不是这样的&#xff0c;接…

ZKEACMS for .Net Core 深度解析

ZKEACMS 简介 ZKEACMS.Core 是基于 .Net Core MVC 开发的开源CMS。ZKEACMS可以让用户自由规划页面布局&#xff0c;使用可视化编辑设计“所见即所得”&#xff0c;直接在页面上进行拖放添加内容。 ZKEACMS使用插件式设计&#xff0c;模块分离&#xff0c;通过横向扩展来丰富CMS…

java design按钮_DesignJava 设计模式,讲述 的各种 方便在项目中进行 框架结构 Develop 238万源代码下载- www.pudn.com...

文件名称: DesignJava下载收藏√ [5 4 3 2 1 ]开发工具: Java文件大小: 1675 KB上传时间: 2013-11-21下载次数: 2提 供 者: 102426详细说明&#xff1a;JAVA设计模式&#xff0c;讲述java的各种设计模式&#xff0c;方便在项目中进行设计框架结构-JAVA design patterns, j…

剪辑视频、去掉爱剪辑前后广告、视频中添加黑幕简要教程

昨天白天接到了一个这样的需求&#xff0c;就是剪辑一段视频&#xff0c;给视频中加入插入一个剪短的介绍&#xff0c;然后把没有用的截取掉。看起来很简单&#xff0c;确实&#xff0c;利用常用的视频剪辑软件就可以直接实现&#xff0c;但是事实并不是这样的&#xff0c;接下…

弗洛伊德算法

思路分析 代码实现 package com.atguigu.floyd;import java.util.Arrays;public class FloydAlgorithm {public static void main(String[] args) {//测试看看图是否创建成功char[] vertex{A,B,C,D,E,F,G};//创建邻接矩阵int[][] matrixnew int[vertex.length][vertex.length]…

Productivity Power Tools,对于Visual Studio 2017的15个扩展

在Visual Studio 2017正式发布期间&#xff0c;微软公司更新并发布了Productivity Power Tools的扩展版本。Productivity Power Tools的这个版本包括了针对VS 2017的15处扩展。 新版本Productivity Power Tools的优点之一是它允许微软监测哪些组件是开发者最频繁使用的&#xf…

常用数据库复习资料

mast&#xff1a;数据库控制SQL Server的所有方面。这个数据库中包括所有的配置信息、用户登录信息、当前正在服务器中运行的过程的信息。model:数据库是建立所有用户数据库时的模板。当你建立一个新数据库时&#xff0c;SQL Server会把model数据库中的所有对象建立一份拷贝并移…