原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

环境

  • 本地 win7
  • 服务器:Virtual Box 上的Centos
  • ssh工具: Xshell
  • 文件传输: xftp

1.在本地创建asp.net core应用发布

1.1 使用Vs2017 新建一个asp.netcore项目

步骤略(一路next),当然你也可以用命令行创建。

1.2 发布项目

在项目路径下执行命令

dotnet publish –c release

先本地运行是否有问题,减少因为本地程序造成发布不成功的几率。程序就简单介绍一下,下面部署是管件。

2.安装netcore SDK

2.1 环境准备

我这里是在VirtualBox上安装的Centos.

  1. 需要首先记录一点,就是虚拟机最小化安装CentOS 7 默认没有启动网络配置,所以是不能上网的。

接下来就通过vi命令编辑网卡配置文件ifcfg-enp0s3(其他版本名称可能略有不同,但路径一致)。具体命令如下

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

将ONBOOT=no改为ONBOOT=yes,设置随系统开机运行。然后:wq强制保存并退出编辑文件即可。

最后,需要重启一下网络服务。命令如下:

service network restart

然后ping www.baidu.com 检查是否可以正常上网了。

这时就可以用xshell连接服务器。

  1. 最小化安装同样没有ifconfig等网络命令,这里为了方便可以安装net-tools工具包
yum update
yum install net-tools

2.2 安装.NET Core SDK

2.2.1 安装libicu依赖

yum install libunwind libicu

2.2.2 注册dotnet 的repository

您需要注册Microsoft签名密钥并添加Microsoft产品提要

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

2.2.3 安装

sudo yum update
sudo yum install dotnet-sdk-2.2

2.2.4 安装完成

dotnet --info

微软官方参考

参考1

2.2.5 发布程序测试

  1. 这里先将刚开始发布的程序通过xftp传输到centos服务器上,进入程序文件夹。运行程序
dotnet MyApp.dll

但是报错了,如下图

这里说明一下:因为本地使用的sdk2.1,所以我没选最高版本,而是yum search dotnet-sdk,选的是显示的2.1的最高版本,也就是dotnet-skd-2.1.4。

以为是服务端的sdk版本太,但是通过dotnet --info查看本地版本,如下图:

服务端如下:

显然是服务器端安装的版本太低了。所以重新安装了2.2版本,

然后再运行

显示运行成功。这里耽误了好一会时间。

  1. 测试
curl http://locahost:5000/api/values

可以正常获取信息了

但是远程浏览器访问,无法访问。这就怪了,为啥呢?

服务器上用ip地址访问:

curl http://10.100.15.17:5000/api/values

也是不通,最后才发现,原来默认是无法通过ip访问。(有大神知道原因可以知道一下)

然后关闭重新启动,加上url参数

dotnet MyApp.dll --server.urls="http://*:5000"

此时再通过IP访问,OK通过。

本地浏览器访问,OK也通过。

好了这里就可以正常使用,当然测试没问题了,生产绝对不能这样搞。下边还要使用nginx,以及守护程序之类的。

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践的更多相关文章

  1. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  2. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...

  3. ASP.NET 程序发布详细过程

    前言 ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布ASP.NET程序失败.IIS安装失败.IIS发布失败.局域网内不能访问 配置文件错误.权限 ...

  4. 【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  5. asp.net程序发布详解

    本文转载自Alan_beijing的博客ASP.NET 程序发布详细过程.内容进行了部分更改. ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布A ...

  6. .NetCore程序发布到IIS上面

    一.概述 在传统的.NET Framework中,ASP.NET程序发布到IIS上面,是由IIS的工作进程(w3wp.exe)托管的,在任务管理器中可以找到该进程.在ASP.NET Core程序中不再 ...

  7. [转]Centos 7 安装部署 GitLab 服务器

    Centos 7 安装部署 GitLab 服务器 转自:https://www.jianshu.com/p/79bfded68899 文前说明 作为码农中的一员,需要不断的学习,我工作之余将一些分析总 ...

  8. 一、CentOS 7安装部署GitLab服务器

    一.CentOS 7安装部署GitLab服务器 1.安装依赖软件 yum -y install policycoreutils policycoreutils-python openssh-serve ...

  9. MySQL 5.7安装(多实例)最佳实践

    MySQL 5.7安装(多实例)最佳实践,接上一篇<MySQL 5.7安装最佳实践>在已有的实例上面新增一个实例,主要是为了资源合理利用:下面是具体的步骤: 1.新实例目录规划,my.cn ...

随机推荐

  1. [Angular] The Select DOM Event and Enabling Text Copy

    When we "Tab" into a input field, we want to select all the content, if we start typing, i ...

  2. apper

    查漏补缺系列之dapper初体验   什么是dapper 在维护一些较老的项目的时候,往往我们会用很多sql那么这个时候我们要考虑优化这些项目的时候,我们就可以使用dapper dapper 是一款轻 ...

  3. 系统学习java高并发系列一

    转载请注明原创出处,谢谢! JAVA服务端或者后端需要大量的高并发计算,所以高并发在JAVA服务端或者后端编程中显的格外重要了. 首先需要有几个概念: 1.同步和异步 同步异步是来形容方法的一次调用的 ...

  4. jedis连接sentinel示例程序

    1.添加依赖pom.xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedi ...

  5. struts2--笔记(一)

    1.什么是struts2? 框架是一些已经写好的代码,一般情况下于产品是无关的,可以提高效率. 2.javaEE的三层结构:表现层.业务层.持久层组成,struts是变现层的一个框架结构,分成结构的方 ...

  6. flink DataStream API使用及原理

    传统的大数据处理方式一般是批处理式的,也就是说,今天所收集的数据,我们明天再把今天收集到的数据算出来,以供大家使用,但是在很多情况下,数据的时效性对于业务的成败是非常关键的. Spark 和 Flin ...

  7. vue中的select框的值动态绑定

    <--这两种写法效果一样--> 1: <select v-model="wxStatus"> <option label="已添加" ...

  8. linux下如何获取某一进程占用的物理内存和虚拟内存

    首先,ps -A查看你所查看进程的进程号 ps -A 加入进程号为pid 那么使用如下脚本,可以打印该进程使用的虚拟内存和物理内存: root@Storage:/mnt/mtd# cat rss.sh ...

  9. 关于win10输入法ctrl+shift+f和idea组合键冲突的解决办法。

    先Ctrl+F,按住Ctrl,再按Shift+F. 因为win10的输入法热键无法关闭(在后期的版本中好像可以了,不过没更新),在IEDA中ctrl+shift+f组合键没法使用,可以按如下按键组合使 ...

  10. 安装使用jupyter(原来的notebook)

    1.安装pyzmq 使用pip install pyzmq,安装不成功. 使用easy_install.exe pyzmq.成功安装. 2.安装tornado pip tornado 安装完尚不成功. ...