(给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 、发布项目
在项目路径下执行命令
先本地运行是否有问题,减少因为本地程序造成发布不成功的几率。程序就简单介绍一下,下面部署是管件。
二、安装NET Core SDK
2.1、环境准备
我这里是在VirtualBox上安装的Centos.
1、需要首先记录一点,就是虚拟机最小化安装CentOS 7 默认没有启动网络配置,所以是不能上网的。
接下来就通过vi命令编辑网卡配置文件ifcfg-enp0s3(其他版本名称可能略有不同,但路径一致)。具体命令如下
将ONBOOT=no改为ONBOOT=yes,设置随系统开机运行。然后:wq强制保存并退出编辑文件即可。
最后,需要重启一下网络服务。命令如下:
这时就可以用xshell连接服务器。
2、最小化安装同样没有ifconfig等网络命令,这里为了方便可以安装net-tools工具包
2.2、安装.NET Core SDK
2.2.1、安装libicu依赖
2.2.2、注册dotnet 的repository
您需要注册Microsoft签名密钥并添加Microsoft产品提要
2.2.3、安装
2.2.4、安装完成
微软官方参考:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial
2.2.5、发布程序测试
这里先将刚开始发布的程序通过xftp传输到centos服务器上,进入程序文件夹。
运行程序
但是报错了,如下图
这里说明一下:因为本地使用的sdk2.1,所以我没选最高版本,而是yum search dotnet-sdk,选的是显示的2.1的最高版本,也就是dotnet-skd-2.1.4。
以为是服务端的sdk版本太,但是通过dotnet --info查看本地版本,如下图:
服务端如下:
显然是服务器端安装的版本太低了。所以重新安装了2.2版本,
然后再运行
显示运行成功。这里耽误了好一会时间。
测试
可以正常获取信息了
但是远程浏览器访问,无法访问。这就怪了,为啥呢?
服务器上用ip地址访问:
也是不通,最后才发现,原来默认是无法通过ip访问。(有大神知道原因可以知道一下)
然后关闭重新启动,加上url参数
此时再通过IP访问,OK通过。
本地浏览器访问,OK也通过。
好了这里就可以正常使用,当然测试没问题了,生产绝对不能这样搞。下边还要使用nginx,以及守护程序之类的。
领取专属 10元无门槛券
私享最新 技术干货