1.开篇说明

  a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么这篇博客我们就在上一篇博客的基础上对其代码进行部署,将其部署在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
 
    

每天一点点都是进步

如果文章哪里存在问题,欢迎大家指出来,我会在第一时间修改。

.NET Core跨平台:.NET Core项目部署到linux(Centos7)的更多相关文章

  1. .NET Core项目部署到Linux(Centos7)(六)发布.NET Core 项目到Linux

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  2. .NET Core项目部署到Linux(Centos7)(十)总结

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  3. .NET Core项目部署到Linux(Centos7)(一)前言

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  4. .NET Core项目部署到Linux(Centos7)(七)启动和停止.NET Core项目

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  5. .NET Core项目部署到Linux(Centos7)(八)为.NET Core项目创建Supervisor进程守护监控

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  6. .NET Core项目部署到Linux(Centos7)(九)防火墙配置,允许外网或局域网访问.NET Core站点

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  7. .NET Core项目部署到Linux(Centos7)(二)环境和软件的准备

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  8. .NET Core项目部署到Linux(Centos7)(三)创建.NET Core API项目

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  9. .NET Core项目部署到Linux(Centos7)(四)VMware Workstation虚拟机Centos 7安装

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

随机推荐

  1. ORA-39002 ORA-39070 ORA-29283 ORA-06512 ORA-29283

    记一次expdp导出失败,报错如下 ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: in ...

  2. Flex移动皮肤开发(三)

    范例文件 mobile-skinning-part3 在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用, ...

  3. Servlet 获取IllegelStateException

    Servlet 获取IllegelStateException: response提交之后,进行requestDispatcher.forwar(),会产生这样的问题: 但是必须是outputStre ...

  4. loadrunner controller:集合点策略

    集合点只有在多用户并发运行的时候才能体现它的作用. Scenario ---> Rendezvous 打开集合点设置界面,如下图所示: 我们可以看到Vusers 列表框里有两个用户,这与我们设置 ...

  5. 【puthon基础】之str类字符串

    str类字符串是不可变对象 1.创建字符串 s1 = str() #创建一个空字符串 s2 = str("hello") #创建字符串"hello" 2.处理字 ...

  6. iOS核心笔记—源代码管理工具-GIT

    源代码管理工具-GIT 一. git 概述 1. git 简介? 什么是git? > git是一款开源的分布式版本控制工具 > 在世界上所有的分布式版本控制工具中,git是最快.最简单.最 ...

  7. canvas动态小球重叠效果

    前面的话 在javascript运动系列中,详细介绍了各种运动,其中就包括碰壁运动.但是,如果用canvas去实现,却是另一种思路.本文将详细介绍canvas动态小球重叠效果 效果展示 静态小球 首先 ...

  8. SQLSERVER 中实现类似Mysql的 INSERT ON DUPLICATE KEY UPDATE

    通过SQLServer创建索引时,有一个IGNORE_DUP_KEY的选项,可以类似实现. IGNORE_DUP_KEY = { ON | OFF } 指定对唯一聚集索引或唯一非聚集索引执行多行插入操 ...

  9. 为什么亚马逊云计算中的DNS服务叫Route53?

    最近在用亚马逊的云计算服务,看到它的DNS服务的名字叫做"Route 53".这个名字让我很好奇,为什么叫"Route 53"呢?有什么特殊含义? 看到了这个Q ...

  10. apache的用户认证

    1. 限制用户访问的方式: 1. 限制访问服务的客户端主机 2. 需要用户名和密码 2. 行为用户验证需要两步: 1. 创建一个包含用户名和密码的文件 2. 服务器上的哪些资源需要保护,哪些用户可以进 ...