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

第一步:Add the dotnet product feed(添加dotnet产品)
官方安装说明:https://dotnet.microsoft.com/download
Before installing .NET, you'll need to register the Microsoft key, register the product repository, and install required dependencies. This only needs to be done once per machine.(在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。 这只需要每台机器完成一次。)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
第二步:Install the .NET SDK(安装.NET SDK)
Update the products available for installation, then install the .NET SDK.(更新可用于安装的产品,然后安装.NET SDK。)
Update the products available for installation, then install the .NET Runtime.(更新可用于安装的产品,然后安装.NET Runtime。
sudo yum update
# 安裝SDK
sudo yum install dotnet-sdk-2.2
# 运行时
sudo yum install aspnetcore-runtime-2.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 ;
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;
proxy_set_header X-Forwarded-For
proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置完成之后执行 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快速入门】(四)在CentOS上安装.NET Core运行时、部署到CentOS的更多相关文章
- 菜鸟入门【ASP.NET Core】4:在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 ...
- 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共 ...
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- ASP.NET Core快速入门学习笔记(第1章:介绍与引入)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 任务2:环境安装 下载地址:https://dotnet.m ...
- ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 1.介绍与引入 2.配置管理 3.依赖注入 4.ASP.NE ...
- 在 CentOS 上安装 vsftp 服务
在 CentOS 上安装 vsftp 服务 1.查看当前 CentOS 服务器是否已安装了 vsftpd 服务: rpm -q vsftpd 如果打印如下类似的信息则表明已安装 vsftpd 服务: ...
- .NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
一.前言 本篇开发环境?1.操作系统:CentOS7(因为ken比较偏爱CentOS7)2.SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识1.了解如何通过Hyper-V安 ...
- ASP.NET Core 快速入门(Razor Pages + Entity Framework Core)
引子 自从 2009 年开始在博客园写文章,这是目前我写的最长的一篇文章了. 前前后后,我总共花了 5 天的时间,每天超过 3 小时不间断写作和代码调试.总共有 8 篇文章,每篇 5~6 个小结,总截 ...
随机推荐
- python多进程学习笔记
# coding=utf-8 from multiprocessing import Process,Pool import os import time def printf(args): # ti ...
- FTP连接虚拟主机响应220 Welcome to www.net.cn FTP service. (解决的一个问题)
问题场景: 使用FTP客户端连接虚拟主机时,同样的账号密码在有的网络下可以连接成功,有的网络下却一直连接不上:ftp响应“220 Welcome to www.net.cn FTP service.” ...
- springboot项目打包
使用IDEA或Eclipse的插件创建springboot项目的时候可以选择打包方式,一般情况下都是选择的jar包. 当想将原来的jar包格式的项目打成war包在本地tomcat下运行时可以通过以下几 ...
- 安装selenium
步骤: 1.下载setuptools2.点击安装setuptools.exe3.安装成功后,python的安装目录下会有Scripts的文件夹4.配置环境变量:python安装目录\Scripts5. ...
- python学习:元组和嵌套
tuple(元组):只是可读,不可以修改# tup1 = () #空元组# tup2 = (20,) #元组内有一个元素,需要在元素后添加逗号 a = (1,2,3,4)print(a[1])a[1] ...
- Android Gradle Task
Tasks runnable from root project ------------------------------------------------------------ Androi ...
- CentOS 编译安装 Redis (实测 笔记 Centos 7.3 + redis 3.2.8)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...
- python爬虫第六天
今天继续学习一些实战爬虫 链接爬虫实战 要求:把一个网页里所有的链接地址提取出来 思路:(1)确定爬取的入口链接 (2)构建提取链接的正则表 ...
- django 利用pillow 进行简单的设置验证码(python)
1.导入模块 并定义一个验证状态 from PIL import Image, ImageDraw, ImageFont from django.utils.six import BytesIO de ...
- c++ 之bind使用
网络编程中, 经常要使用到回调函数. 当底层的网络框架有数据过来时,往往通过回调函数来通知业务层. 这样可以使网络层只专注于 数据的收发, 而不必关心业务 在c语言中, 回调函数的实现往往通过函数指针 ...