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.
- 需要首先记录一点,就是虚拟机最小化安装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连接服务器。
- 最小化安装同样没有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
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版本,

然后再运行
显示运行成功。这里耽误了好一会时间。
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.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)的更多相关文章
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践
原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...
- ASP.NET 程序发布详细过程
前言 ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布ASP.NET程序失败.IIS安装失败.IIS发布失败.局域网内不能访问 配置文件错误.权限 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 程序发布过程
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- asp.net程序发布详解
本文转载自Alan_beijing的博客ASP.NET 程序发布详细过程.内容进行了部分更改. ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布A ...
- .NetCore程序发布到IIS上面
一.概述 在传统的.NET Framework中,ASP.NET程序发布到IIS上面,是由IIS的工作进程(w3wp.exe)托管的,在任务管理器中可以找到该进程.在ASP.NET Core程序中不再 ...
- [转]Centos 7 安装部署 GitLab 服务器
Centos 7 安装部署 GitLab 服务器 转自:https://www.jianshu.com/p/79bfded68899 文前说明 作为码农中的一员,需要不断的学习,我工作之余将一些分析总 ...
- 一、CentOS 7安装部署GitLab服务器
一.CentOS 7安装部署GitLab服务器 1.安装依赖软件 yum -y install policycoreutils policycoreutils-python openssh-serve ...
- MySQL 5.7安装(多实例)最佳实践
MySQL 5.7安装(多实例)最佳实践,接上一篇<MySQL 5.7安装最佳实践>在已有的实例上面新增一个实例,主要是为了资源合理利用:下面是具体的步骤: 1.新实例目录规划,my.cn ...
随机推荐
- VUE-利用OSS BrowserJS-SDK实现阿里OSS前端上传
项目中遇到利用阿里OSS上传文件,线上很多示例用到了各种SDK,却没有看到OSS BrowserJS-SDK相关示例,鉴于脑子不好使,记一下. 封装upload相关组件  使用npm安装SDK的开发 ...
- pytorch可视化工具visdom
visdom的github repo: https://github.com/facebookresearch/visdom 知乎一个教程:https://zhuanlan.zhihu.com/p/3 ...
- [python] 溜了,溜了,七牛云图片资源批量下载 && 自建图床服务器
故事背景: 七牛云最近一波测试域名操作真是把我坑死了!这简直和百度赠送你2T网盘,之后再限速一样骚操作.于是,痛定思痛自己买个云主机.自己搭图床应用! 1.七牛图片批量下载到本地 1.1 曲折尝试 当 ...
- Angularjs中的缓存以及缓存清理
写在最前面:这篇博文是2篇文章组成,详细介绍了Angularjs中的缓存以及缓存清理,文章由上海尚学堂转载过来,欢迎大家阅读和评论.转载请注明出处,谢谢! 一个缓存就是一个组件,它可以透明地储存数据, ...
- [Swift]LeetCode309. 最佳买卖股票时机含冷冻期 | Best Time to Buy and Sell Stock with Cooldown
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- [Swift]LeetCode483. 最小好进制 | Smallest Good Base
For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...
- websocket+rabbitmq实战
1. websocket+rabbitmq实战 1.1. 前言 接到的需求是后台定向给指定web登录用户推送消息,且可能同一账号会登录多个客户端都要接收到消息 1.2. 遇坑 基于springbo ...
- hadoop分布式搭建
1.新建三台机器,分别为: hadoop分布式搭建至少需要三台机器: master extension1 extension2 本文利用在VMware Workstation下安装Linux cent ...
- Python内置函数(65)——type
英文文档: class type(object) class type(name, bases, dict) With one argument, return the type of an obje ...
- Python内置函数(35)——issubclass
英文文档: issubclass(class, classinfo) Return true if class is a subclass (direct, indirect or virtual) ...