其实类似的教程网上已经有很多了,之所以要写,是应为发现在使用最新的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. Gamma Correction of OIIO

    \apiitem{"oiio:ColorSpace" : string}   The name of the color space of the color channels. ...

  2. Windows系统下安装 CMake

    在安装caffe框架的时候需要用到cmake,特将cmake的安装总结如下: 1 什么是cmake CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程.CMake ...

  3. Linux CentOs 下 安装 mysql nginx redis

    SCP 的使用 来源于: https://blog.csdn.net/qq_30968657/article/details/72912070 scp [参数] <源地址(用户名@IP地址或主机 ...

  4. php sapi 产生core 文件

    php sapi 产生core 文件 1) vim /usr/local/php7.1.6-debug/etc/php-fpm.conf rlimit_core = 0 改为 rlimit_core ...

  5. Using Request Headers for Metadata Address

    问题描述 我将一个在本地调试正常的service部署到服务器后遇到了添加服务引用失败的问题.在把配置文件中基址使用的localhost替换成服务器的ip地址后问题得到了解决.但我感觉这并不是一个因为粗 ...

  6. 面试笔试(C++部分)

    1.define 和const,inline的区别 define的缺点: 1.边界效应(必须加括号,才能避免边界效应) #define MUL(A,B) A*B 而在使用的时候,这样的调用: ,b=, ...

  7. BZOJ2748 音量调节

    音量调节   Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开 ...

  8. [CoffeeScript]在WebStorm里运行CoffeeScript

    CoffeeScript 是一门编译到 JavaScript 的小巧语言. 在 Java 般笨拙的外表下, JavaScript 其实有着一颗华丽的心脏. CoffeeScript 尝试用简洁的方式展 ...

  9. 大数据-zookeeper集群安装

    一.安装前发现的问题: 1.安装前期发现jps权限不够 [root@master1 ~]# jps -bash: /opt/workspace/jdk1./bin/jps: Permission de ...

  10. AS添加依赖库提示Manifest merger failed解决办法

    今天在学习<Android权威编程指南>时 在project structure中添加recyclerview时提示错误 按照提示添加tools:replace标签还是报错 然后切换至bu ...