centos ifconfig_ASP.NET Core 程序发布到 Centos

(给DotNet加星标,提升.Net技能)

转自:幕三少

cnblogs.com/smiler/p/10149603.html

环境

  • 本地 win7

  • 服务器:Virtual Box 上的Centos

  • ssh工具: Xshell

  • 文件传输: xftp

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

1.1、使用VS 2017 新建一个ASP.NET Core项目

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

1.2 、发布项目

在项目路径下执行命令

dotnet publish –c release

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

二、安装NET Core 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连接服务器。

2、最小化安装同样没有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

微软官方参考:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial

参考:https://blog.csdn.net/u012920852/article/details/79404433

2.2.5、发布程序测试

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

运行程序

dotnet MyApp.dll

但是报错了,如下图

07bf8e42b62507dece5dd90f9a5ccea9.png

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

f11bcd367da32e4bee74b89dd90183a3.png

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

e6fc890851310c411a33f837c43c91fe.png

服务端如下:

6a77cd389d5c847631fd5d14629b75ae.png

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

6a01be0a6efe90e022cc4f229a0a131d.png

然后再运行

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

测试

curl http://locahost:5000/api/values

可以正常获取信息了

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

服务器上用ip地址访问:

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

5f4f3f18a85188aee2ef355ec7815a28.png

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

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

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

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

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

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

推荐阅读

(点击标题可跳转阅读)

ASP.NET Core MVC+EF Core从开发到部署

PowerShell自动部署ASP.NET Core程序到IIS

ASP.NET Core 2.0从Windows发布到CentOS的跨平台部署

看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

a9c4080d964006abf2737d2c4bcb14bd.png

好文章,我在看❤️

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值