VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • ASP.net教程之Linux+.Net Core+Nginx(在Linux上使用Nginx反

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就正式完成了,这仅是一个小的例子以便于了解,具体在项目当中如何使用还需要更多的了解。


相关教程