zoukankan      html  css  js  c++  java
  • 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版本,

    然后再运行
    显示运行成功。这里耽误了好一会时间。
    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)--最佳实践(二)

  • 相关阅读:
    Java基础学习总结(41)——JPA常用注解
    Java基础学习总结(41)——JPA常用注解
    【云速建站】视频播放专题
    一招教你如何修复MySQL slave中继日志损坏问题
    【nodejs原理&源码赏析(3)】欣赏手术级的原型链加工艺术
    【云速建站】后台数据批量导入导出
    【云速建站】会员注册弹窗添加及设置
    【nodejs原理&源码赏析(2)】KOA中间件的基本运作原理
    【nodejs原理&源码赏析(1)】Express中间件系统的基本实现
    补习系列(5)-springboot- restful应用
  • 原文地址:https://www.cnblogs.com/smiler/p/10149603.html
Copyright © 2011-2022 走看看