Linux+.Net Core+Nginx

之前的文章中有提到关于使用Nginx在linux来实现反向代理,今天我们继续加点料。在Centos7中部署.NetCore,然后使用Nginx进行反向代理!

我们先准备好一个.Net Core 的 Web 项目,然后发布成linux版本,然后在根目录下面去寻找到刚发布的项目文件,为后续做好准备。

然后我们需要在Linux上安装.Net Core的环境以便于我们的项目能正常的运行在上面。

1、安装.Net Core

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

2、安装.net core sdk 并更新

sudo yum update

sudo yum install dotnet-sdk-2.2(当前项目或者使用版本)

3、查看下.net core 版本是否安装成功

dotnet –version

到这里.Net Core的环境在Linux上算是装好了,接下来就进入正题开始部署项目。

4、创建Test文件夹并且上传刚刚发布好的项目文件至其下面

mkdir Test

5、当把发布的文件上传至Tset目录下之后我们就可以创建服务了

sudo nano /etc/systemd/system/Test.service

6、配置好服务文件

[Unit]

Description= Test

[Service]

WorkingDirectory=/root/ Test

ExecStart=/usr/bin/dotnet /root/Test/Test.dll

Restart=always

RestartSec=

SyslogIdentifier= Test

User=root

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]

WantedBy=multi-user.target

其中文件详解

Description    一个简单的描述

WorkingDirectory   服务工作的目录

ExecStart          启动时执行的命令

Restart              出错了是否重启  建议   always

RestartSec           重启的时间

User                用户

WantedBy           该服务所在的连接地址

7、重启服务,开启服务并且查看状态
systemctl  enable Test.service

systemctl  start Test.service

systemctl  status Test.service

看到上面这个图片的样子说明启动运行成功了。然后我们可以输入ip+5555去看看效果如何
但是请求了半天发现好像没有反应,我们回过头来检查下,好像遗漏掉了一个东西。5555端口是否开了,当然我们也可以直接关闭防火墙,简单粗暴
8、关闭防火墙或者打开5000端口
关闭防火墙:

systemctl status firewalld      查看运行情况

firewall-cmd –state     查看状态

service firewalld stop  关闭防火墙

firewall-cmd –state   查看状态

开启5000端口:

firewall-cmd --zone=public --permanent --add-port=/tcp; firewall-cmd --reload


出现这个页面证明部署.NetCore 应用一切顺利,接下来我们开始安装nginx并且实现反向代理、至于如何在Linux上安装Nginx并运行我在前面文章已经详细介绍了,又忘记了得可以再看看
https://www.cnblogs.com/hulizhong/p/10672918.html
卸载nginx命令

yum remove nginx
我们安装好Nginx之后需要在nginx.conf中进行一定的修改
server {
listen ;
location / { proxy_pass http://localhost:5555; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade;
}
}

修改监听端口为8888,然后转发地址为刚在项目运行的地址ip+5555,一切顺利完成之后

重启nginx

sudo nginx -t

sudo nginx -s reload

然后我们在去浏览器中输入ip+8888,惊奇的发现我们访问的内容居然和ip+5555的是一样的

然后到这里Linux+.NetCore+Nginx就正式完成了,这仅是一个小的例子以便于了解,具体在项目当中如何使用还需要更多的了解。

欢迎大家扫描下方二维码,和我一起学习更多的知识

Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)的更多相关文章

  1. 在单机Docker上安装 Traefik 反向代理-负载均衡器

    一.创建Traefik和容器应用的连接网络 sudo docker network create traefik-net 二.下载Traefik样本配置文件wget https://raw.githu ...

  2. Server 主机屋云服务器 宝塔面板 部署nginx反向代理的vue项目

    图文记录云服务器上部署需要nginx反向代理的vue项目: 一.先登录并购买云服务器,根据自己需求购买,此处不详细介绍: 二.登录后如下图,点击进入云服务器界面: 三.在云服务器界面点击管理,进入管理 ...

  3. nginx反向代理部署springboot项目报404无法加载静态资源

    问题:nginx反向代理部署springboot项目报404无法加载静态资源(css,js,jpg,png...) springboot默认启动端口为8080,如果需要通过域名(不加端口号)直接访问s ...

  4. 关于如何在Linux上使用Nugix反向代理部署net core3.1项目

    本文意在教大家如何在Linux上部署net core web项目,本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点. 一:需要用到的东西如下: 1:一个基于net core框架下的we ...

  5. nginx -stream(tcp连接)反向代理配置 实现代理mysql以及文件上传

    原文链接:https://blog.csdn.net/Activity_Time/article/details/95767390 1. stream模块安装 nginx默认安装的时候无法加载流str ...

  6. nginx的rewrite,gzip,反向代理学习笔记

    rewrite模块名:ngx_http_rewrite_module默认自动被编译 指令:rewrite regex replacement [flag] regex :正则表达式,用于匹配用户请求的 ...

  7. 双nginx(主备、主主)反向代理tomcat实现web端负载均衡

    经过以前做完的产品,受前公司几位前辈技术大拿指点,来自己动手实现并总结一下web端的负载解决方法,高手请略过,个人认知有限,请各位指正错误. 下面是结构图: 我的系统环境是Fedora22(适用rea ...

  8. 安装Nginx并为node.js设置反向代理

    最近看了反向代理和正向代理的东西,想到自己的node.js服务器是运行在3333端口的,也没有为他设置反向代理,node.js项目的一些静态文件是完全可以部署在Nginx上,以减少对node.js的请 ...

  9. 使用iis反向代理.net core应用程序

    .net core 其实是自宿主性质的web应用程序,而不再是web网站,所以.net core是可以直接单独作为系统服务部署.但是实际情况中,为了同个一个端口能支持多个web应用和统一管理,还是应该 ...

随机推荐

  1. n级阶梯,每次走一步或两步,问最多有多少种走法 二叉树实现

    NodeTree类 public class NodeTree { private int num; private NodeTree left; private NodeTree right; pu ...

  2. dirlock_windows.go

    package dirlock type DirLock struct {     dir string } func New(dir string) *DirLock {     return &a ...

  3. 从一个例子了解window.onload、$(function(){})、$(window).load(function(){})的加载顺序

    最近遇到一个轮播需求: 1. ajax请求服务器,返回json,判断json数据里每一项中isFix属性是0还是1,0表示不轮播,1表示需要轮播. 2. 当isFix属性为0的时候,表示该图片不轮播, ...

  4. MFC中打开选择文件夹对话框,并将选中的文件夹地址显示在编辑框中

    一般用于选择你要将文件保存到那个目录下,此程序还包含新建文件夹功能 BROWSEINFO bi; ZeroMemory(&bi, sizeof(BROWSEINFO));  //指定存放文件的 ...

  5. BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元

    BZOJ_1778_[Usaco2010 Hol]Dotp 驱逐猪猡_概率DP+高斯消元 题意: 奶牛们建立了一个随机化的臭气炸弹来驱逐猪猡.猪猡的文明包含1到N (2 <= N <= 3 ...

  6. BZOJ_1801_[Ahoi2009]chess 中国象棋_DP

    BZOJ_1801_[Ahoi2009]chess 中国象棋_DP Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像 ...

  7. this指向和apply,call,bind三者的区别

    一.前言 this指向,apply,call,bind的区别是一个经典的面试问题,同时在项目中会经常使用到的原生的js方法.同时也是ES5中的众多坑的一个.ES6中可能会极大的避免了this产生的错误 ...

  8. Java进阶篇之十五 ----- JDK1.8的Lambda、Stream和日期的使用详解(很详细)

    前言 本篇主要讲述是Java中JDK1.8的一些新语法特性使用,主要是Lambda.Stream和LocalDate日期的一些使用讲解. Lambda Lambda介绍 Lambda 表达式(lamb ...

  9. Asp.NetCore轻松学-使用Docker进行容器化托管

    前言 没有 docker 部署的程序是不完整的,在写了 IIS/Centos/Supervisor 3篇托管介绍文章后,终于来到了容器化部署,博客园里面有关于 docker 部署的文章比比皆是,作为硬 ...

  10. Asp.NetCore轻松学-部署到 Linux 进行托管

    前言 上一篇文章介绍了如何将开发好的 Asp.Net Core 应用程序部署到 IIS,且学习了进程内托管和进程外托管的区别:接下来就要说说应用 Asp.Net Core 的特性(跨平台),将 .Ne ...