ASP.NET Core 程序发布到 Centos

2019 年 5 月 27 日 DotNet

(给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


但是报错了,如下图



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



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



服务端如下:



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



然后再运行

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


测试


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.NET Core MVC+EF Core从开发到部署

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

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


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

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

好文章,我在看❤️

登录查看更多
1

相关内容

TOS: ACM Transactions on Storage。 Explanation:ACM存储事务。 Publisher:ACM。 SIT: http://dblp.uni-trier.de/db/journals/tos/
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【Manning2020新书】Elm 实战,344页pdf,Elm in Action
专知会员服务
49+阅读 · 2020年4月14日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Deep Learning for Energy Markets
Arxiv
10+阅读 · 2019年4月10日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
VIP会员
相关资讯
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
相关论文
Do RNN and LSTM have Long Memory?
Arxiv
19+阅读 · 2020年6月10日
Deep Learning for Energy Markets
Arxiv
10+阅读 · 2019年4月10日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
Top
微信扫码咨询专知VIP会员