其实类似的教程网上已经有很多了,之所以要写,是应为发现在使用最新的centos7和.netcore2.1版本时还是遇到了不少坑,所以记录下,以后希望大家能少走弯路。

一、安装CentOS7

我是用虚拟机vmware安装的,安装教程百度上很多,也不是本篇的重点,请大家自行百度就可以了,这个还是比较简单的。

二、安装.net core sdk

可以参考微软给出的官方文档https://www.microsoft.com/net/learn/get-started/linux/centos这里有个坑,如果按官方文档装完后会出现版本依赖关系不兼容的bug,如下:

[root@localhost conf.d]# dotnet --info
Failed to resolve library symbol hostfxr_main_startupinfo, error: /usr/share/dotnet/host/fxr/2.0.6/libhostfxr.so: undefined symbol: hostfxr_main_startupinfo
.NET Command Line Tools (2.1.104)

不过github上面已经给出了解决方案,就是安装时在第二条命令中加入nexclude=*preview*" 这段,更改后的命令如下:

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc\nexclude=*preview*" > /etc/yum.repos.d/dotnetdev.repo'

成功完成安装后,执行dotnet --info命令,显示如下:

[root@localhost conf.d]# dotnet --info
.NET Command Line Tools (2.1.104) Product Information:
Version: 2.1.104
Commit SHA-1 hash: 48ec687460 Runtime Environment:
OS Name: centos
OS Version: 7
OS Platform: Linux
RID: centos.7-x64
Base Path: /usr/share/dotnet/sdk/2.1.104/ Microsoft .NET Core Shared Framework Host Version : 2.0.6

三、创建ASP.NET CORE应用程序

在vs2017中创建一个名为“MyCoreWebApp”的Asp.net Core应用程序,修改Program.cs文件,添加被监听的url和端口,如下:

编译后已文件系统的方式发布,接下来需要设置centos防火墙,命令如下:

sudo firewall-cmd --permanent --zone=public --add-port=22/tcp
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp
sudo firewall-cmd --reload

使用xftp(需要防火墙开放端口号22,如上)将windows上的发布文件传到centos的/home/wwwroot/MyWeb目录下,

启动.net core应用程序,命令如下

[root@localhost wuyi]# cd /home/wwwroot/MyWeb/
[root@localhost MyWeb]# dotnet MyCoreWebApp.dll
Hosting environment: Production
Content root path: /home/wwwroot/MyWeb
Now listening on: http://[::]:5000
Application started. Press Ctrl+C to shut down.

在centos中打开火狐浏览器,输入http://localhost:5000即可访问

如果想在外部系统访问,可以输入命令"ip addr"来查看ip,如下

在我本机windows中打开浏览器,输入http://192.168.195.128:5000 也可以访问成功。

至此,已完成了.net core在centos上的部署和访问,后续会继续尝试些扩展内容如负载均衡和配置守护进程等。

CentOS7部署.Net Core2.0站点(上)的更多相关文章

  1. CentOS7部署.Net Core2.0站点(中)

    继续上篇的内容,本篇来学习下nginx的配置和守护进程supervisor的使用. 一.Nginx安装及配置 (1)安装nginx sudo yum install epel-release #添加源 ...

  2. Centos7.2部署.Net Core2.0 WebApi

    部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs ...

  3. CentOS7部署Dotnet Core2.1

    前言 笔者在毫无Linux部署.net core的经验下,第一次用了15分钟完成部署,第二次在生产环境用了5分钟.下文将说明如何在CentOS7下完成.NetCore2.1的部署,包括如何创建ASP. ...

  4. DotNet跨平台 - docker部署.net core2.0项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  5. Centos7 部署.net core2.1 详细步骤

    安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages ...

  6. CentOS7部署HDP3.1.0.0

    Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应.管理和监控的开源工具,Ambari已支持大多数Hadoop组件,包括HDFS.MapReduce.Hive.Pig ...

  7. 云服务器 Centos7 部署 Elasticsearch 8.0 + Kibana 8.0 指南

    文章转载自:https://mp.weixin.qq.com/s/iPfh9Mkwxf5lieiqt6ltxQ 服务器是命令行模式登录,没法以浏览器方式访问.而官方推荐的快捷部署方式,在kibana ...

  8. centos7部署.net core2.1

    1.centos 7.0及以上服务器 2..NET SDK 安装 2.1 安装 https://www.microsoft.com/net/download/linux-package-manager ...

  9. Centos7 系统下搭建.NET Core2.0+Nginx+Supervisor+Mysql环境

    好记性不如烂笔头! 一.简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比如Mono .NET).直到微 ...

随机推荐

  1. EntityFramework Code First 模式下使用数据迁移

    启用数据迁移 在程序包管理控制台选择安装了EntityFramework的项目,键入如下指令以启EF用数迁移. Enable-Migrations 命令成功运行后,所选项目下会添加名为Migratio ...

  2. 【QTP小技巧】02_QTP中Complete Word 实现(转载)

    相信做过开发或者写过JAVA的朋友都应该对Complete Word这个词语不陌生吧~ 对~~~它就是开发脚本过程中的催化剂 有了它我们就可以不用去死记硬背 有了它我们就不会出现某个代码少一个字母 有 ...

  3. hdu Surround the Trees

    题目链接:戳我 凸包模板 #include<iostream> #include<cstdio> #include<cstring> #include<alg ...

  4. jquery鼠标经过水平180度翻转效果

    Html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/htm ...

  5. [译文]casperjs的API-clientutils模块

    casper提供了少量的客户端接口用来进行远程DOM环境注入,通过clientutils模块的ClientUtils类实例中的__utils__对象来执行: casper.evaluate(funct ...

  6. POJ1591 M*A*S*H (JAVA)

    这水题,真的坑 测试数据最后有空行,如果用sc.hasNextLine()判断,会RE 要改为sc.hasNext() 搞了我一上午,烦死 import java.util.*; public cla ...

  7. iOS 本地时间、UTC时间、时间戳等操作、获取当前年月日

    //获得当前时间并且转为字符串 - (NSString *)dateTransformToTimeString { NSDate *currentDate = [NSDate date];//获得当前 ...

  8. windows 安装python问题总结

    一.安装支持包 很多二进制包 NumPy-1.9+MKL 以及 Microsoft Visual C++ 2008 (x64, x86, and SP1 for CPython 2.6 and 2.7 ...

  9. C#找出接口的所有实现类并遍历执行这些类的公共方法

    //这里找出了实现IOutputArray接口的所有类 private void FindAllClass() { var types = AppDomain.CurrentDomain.GetAss ...

  10. 蒙版 mask

    一句话理解: "被蒙版"层 只显示的区域为: "蒙版"层中不透明的部分 (即:最终显示的内容是父层的, 区域大小受蒙版不透明部分控制)