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. Spring Security Oauth2 permitAll()方法小记

    黄鼠狼在养鸡场山崖边立了块碑,写道:"不勇敢地飞下去,你怎么知道自己原来是一只搏击长空的鹰?!" 从此以后 黄鼠狼每天都能在崖底吃到那些摔死的鸡! 前言 上周五有网友问道,在使用s ...

  2. fixed 和 absolute 定位的区别

    fixed:固定定位           absolute:绝对定位 在没有滚动条的情况下两者其实没有差异.但是在有滚动条后,fixed始终会在定好的位置不动,而absolute会随参照对象元素的宽高 ...

  3. 一次完整的HTTP网络请求过程详解

    0.  前言 从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析.TC ...

  4. python高级编程1

    1.如何在列表,字典,集合中根据条件筛选数据? 如: 过滤列表[3, 9, -1, 10, 20, -2...]中的负数 筛出字典{‘小明’:70, 'Jim':88,'Tom':98...}中值高于 ...

  5. Dubbo中编码和解码的解析

    (这里做的解析不是很详细,等到走完整个流程再来解析)Dubbo中编解码的工作由Codec2接口的实现来处理,回想一下第一次接触到Codec2相关的内容是在服务端暴露服务的时候,根据具体的协议去暴露服务 ...

  6. 关于extern的用法

    extern表示该变量或者函数时在另一个地方定义了. 在C++编程中,如果将程序分为多个文件,则需要有在文件间共享代码的方法,这时如果一个变量或者函数需要在多个文件中使用,则可以使用extern来声明 ...

  7. bzoj5253 [2018多省省队联测]制胡窜

    后缀自动机挺好毒瘤的题. 我们考虑哪些切点是不合法的.肯定是所有的匹配串都被切了. 我们考虑第一个切口的位置. 当第一个切口在第一个出现位置前时,第二个切口必须切掉所有的串. 当第一个切口在$l_{i ...

  8. bzoj 4556 字符串

    后缀数组,暴力硬跑 贼快 #include<cstdio> #include<cstring> #include<iostream> #include<alg ...

  9. (4)STM32使用HAL库实现串口通讯——理论讲解

    一.查询模式 1. 二.中断模式 1.中断接收. 1.1先看中断接收的流程(以 USART2 为例) 在启动文件中找到中断向量 USART2_IRQHandler 找到USART2_IRQHandle ...

  10. .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger)

    上接:.NetCore WebApi——Swagger简单配置 任何项目都有权限这一关键部分.比如我们有许多接口.有的接口允许任何人访问,另有一些接口需要认证身份之后才可以访问:以保证重要数据不会泄露 ...