首页 > Web开发 > 详细

Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)

时间:2019-04-15 22:14:01      阅读:135      评论:0      收藏:0      [点我收藏+]

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=10

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=5555/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 8888;
    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 项目)

原文:https://www.cnblogs.com/hulizhong/p/10713504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!