菜鸟入门【ASP.NET Core】4:在CentOS上安装.NET Core运行时、部署到CentOS
下载.NET Core SDK
下载地址:https://www.microsoft.com/net/download/windows

第一步:Add the dotnet product feed(添加dotnet产品)
To start installing .NET, you'll need to register the Microsoft signature key and add the Microsoft Product feed. This only needs to be done once per machine.Open a command prompt and run the following commands(要开始安装.NET,您需要注册微软签名密钥并添加微软产品提要。这只需要每台机器做一次。打开命令提示符并运行以下命令)
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
第二步:Install the .NET SDK(安装.NET SDK)
Update the products available for installation, install the components required by .NET, then install the .NET SDK.(更新产品可用于安装组件的安装,然后安装所需的.NET,.NET SDK。)
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.2
安装完成之后我们可以执行dotnet控制台命令来创建dotnet项目了
创建core项目
在命令行执行 dotnet new --help 命令查看创建帮助
然后执行 dotnet new webapi -n helloCore 创建webapi项目

执行 cd helloCore命令进入helloCore文件夹
执行 dotnet run 运行webapi,可以看到现在webapi运行在5000端口

这时候访问http://192.168.110.129:5000/无法访问,原因是端口没有打开
这时候程序已经运行了,不可能说停止服务之后再去打开,然后再重新启动
这里我们的做法是再重启一个PuTTy
然后执行 curl http://localhost:5000/api/values查看api是否可以访问

将helloVS项目部署到CentOS
发布之前vs创建的helloVS项目到文件夹,然后我们需要借助一个 FileZilla 工具将文件上传到CentOS上面
在远程站点输入 \home 访问home文件夹,然后再home文件夹下创建netcore文件夹

然后选择发布的文件夹,将文件夹内的文件全部上传上去

传输完成后我们继续使用PuTTy软件查看文件是否上传成功

这时候执行dotnet helloVS.dll运行我们发布的内容

遇到以上问题的解决方法:
说明现在的平台上的dotnet SDK不是2.0.3的,执行以下命令即可:
sudo yum install dotnet-sdk-2.0.3
安装完成后,再次运行helloVS.dll

用PuTTy访问5000端口curl http://localhost:5000

这里可以看到网站已经可以访问了
Nginx映射端口
进入nginx安装目录 cd /etc/nginx

查看nginx.conf

可以看到默认是吧所有的*.conf文件引入进来的
刚开始有默认的80端口的配置,我们要把它注释掉

注释后

这时候进入conf.d文件夹发现里面并没有任何文件

这时候我们创建一个netcore.conf文件,将80端口对5000对口进行转发


server {
listen 80;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

配置完成之后执行 nginx -s reload 或者 systemctl restart nginx 进行重启nginx
然后访问80端口
这时候访问发现有可能报502,找了很久才找到解决办法

原因:SELinux配置问题。
解决:关闭SELinux。
输入:sestatus,如果SELinux status: enabled ,表示开启,输入vi /etc/selinux/config 修改配置:SELINUX=disabled。
或者
CentOS: 将NGINX加到SELinux的允许名单
yum install policycoreutils-python
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp
然后重启CentOS

菜鸟入门【ASP.NET Core】4:在CentOS上安装.NET Core运行时、部署到CentOS的更多相关文章
- 【ASP.NET Core快速入门】(四)在CentOS上安装.NET Core运行时、部署到CentOS
下载.NET Core SDK 下载地址:https://www.microsoft.com/net/download/windows 第一步:Add the dotnet product feed( ...
- 【ASP.NET Core】在CentOS上安装.NET Core运行时、部署到CentOS
第一步:Add the dotnet product feed sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc ...
- 在 CentOS 上安装 vsftp 服务
在 CentOS 上安装 vsftp 服务 1.查看当前 CentOS 服务器是否已安装了 vsftpd 服务: rpm -q vsftpd 如果打印如下类似的信息则表明已安装 vsftpd 服务: ...
- 在CentOS 7上安装.NET Core R2跑Hello World
前言 在上个月.NET Core出了最新版本预览版,只是在Window系统上试验了一下.原本想等发布正式版的时候在linux系统上试试,可能还需要一段时间,刚好有空可以折腾一下. 由于之前安装的Ubu ...
- .NET Core项目部署到Linux(Centos7)(五)Centos 7安装.NET Core环境
目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- CentOS上安装Node.js
CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区 作者:maskdfe [字体:大 中 小] CentOS上安装Node.js(想在Linux上学习No ...
- centos上安装supervisor来管理dotnetcore等应用程序
supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...
- .NET平台系列26:在 Windows 上安装 .NET Core/.NET5/.NET6
系列目录 [已更新最新开发文章,点击查看详细] 本文介绍如何在 Windows 上安装 .NET. .NET 由运行时和 SDK 组成. 运行时用于运行 .NET 应用,应用可能包含也可能不包 ...
随机推荐
- Linux学习--- C语言关键字、数据类型
关键字: sizeof为关键字,并不是函数. 作用:编译器给我们查看内存空间容量的一个工具. eg:int a: printf("the size is %d\n",sizeof ...
- ubuntu下签名命令
Platform: RockchipOS: Android 6.0Kernel: 3.10.92 拷贝签名文件/signapk.jar和apk到同一目录下. 签名文件:rk3288/build/tar ...
- 05-使用jQuery操作input的value值
表单控件是我们的重中之重,因为一旦牵扯到数据交互,离不开form表单的使用,比如用户的注册登录功能等 那么通过上节知识点我们了解到,我们在使用jquery方法操作表单控件的方法: $(selector ...
- leetcode 315. Count of Smaller Numbers After Self 两种思路
说来惭愧,已经四个月没有切 leetcode 上的题目了. 虽然工作中很少(几乎)没有用到什么高级算法,数据结构,但是我一直坚信 "任何语言都会过时,只有数据结构和算法才能永恒". ...
- Android studio提速配置
1. C:\Program Files\Android\Android Studio\bin studio64.exe.vmoptions 2.创建 gradle.properties 配置文件
- Python自动化开发 - MySQL(一)
本节内容 一.概述 二.下载安装 三.数据库操作 四.数据表操作 五.表内容操作 一.概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么 ...
- maya2016卸载/安装失败/如何彻底卸载清除干净maya2016注册表和文件的方法
maya2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装maya2016失败提示maya2016安装未完成,某些产品无法安装,也有时候想重新安装maya ...
- react小知识
概述 有句话说得很好,代码是写给人看的,顺便让机器执行而已.所以我总结了一些写react不太注意的地方,供以后开发时参考,相信对其他人也有用. 组件封装 由于组件其实就是React.createEle ...
- input可以自动换行吗???
某天,在项目开发的时候,后台java问我input可以换行吗,当时我也是有点懵逼,思考了几秒钟说应该可以,然后就开始尝试各种方法.然后,然后就打脸了.... 最后发现,原来input没有自动换行功能, ...
- Shell-18--正则表达式
a* a出现0或任意次,没有意义,会全输出