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实现 蓝桥杯VIP 算法训练 字符串逆序
    Java实现 蓝桥杯VIP 算法训练 字符串逆序
    Java实现 蓝桥杯VIP 算法训练 最长字符串
    Java实现 蓝桥杯VIP 算法训练 最长字符串
    Java实现 蓝桥杯VIP 算法训练 最长字符串
    Java实现 蓝桥杯VIP 算法训练 最长字符串
    Java实现 蓝桥杯VIP 算法训练 最长字符串
    Java实现 蓝桥杯VIP 算法训练 成绩的等级输出
    Java实现 蓝桥杯VIP 算法训练 成绩的等级输出
    Qt 自定义model实现文件系统的文件名排序
  • 原文地址:https://www.cnblogs.com/smiler/p/10149603.html
Copyright © 2011-2022 走看看