博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net Core使用Nginx实现反向代理
阅读量:7239 次
发布时间:2019-06-29

本文共 2541 字,大约阅读时间需要 8 分钟。

---恢复内容开始---

前两篇文章介绍了使用Docker作为运行环境,用Nginx做反向代理的部署方法,这篇介绍一下使用Nginx配合.Net Core运行时直接在Liunx上裸奔的方法。

一、安装.NET Core 运行时

如果已经安装了运行时,请跳过第一步。

在网址中下载对应的操作系统运行时,我使用的是CentOs7-x64

 

二、配置服务

在/etc/systemd/system 下新建文件(推荐使用winscp),文件名以.service结尾,配置内容为:

[Unit]Description=HZKJ    #服务描述,随便填就好[Service]WorkingDirectory=/website/HZKJ   #工作目录,填你应用的绝对路径ExecStart=/usr/bin/dotnet /website/HZKJ/CZKJ.CMS.Web.dll    #启动:前半截是你dotnet的位置(一般都在这个位置),后半部分是你程序入口的dll,中间用空格隔开Restart=always  RestartSec=25 #如果服务出现问题会在25秒后重启,数值可自己设置SyslogIdentifier=HZKJ  #设置日志标识,此行可以没有User=root   #配置服务用户,越高越好Environment=ASPNETCORE_ENVIRONMENT=Production[Install]WantedBy=multi-user.target

 

写完配置文件后保存,输入指令确认服务:

systemctl enable (你的服务名).service   

例如:systemctl enable HZKJ.service;

然后启动服务  systemctl start HZKJ.service

然后查看一下服务状态:systemctl status HZKJ   出现下图状态说明服务运行正常。

三、配置Nginx反向代理

首先你得先安装Nginx,没有安装的同学请参考前两篇文章。

在 /etc/nginx下找到Nginx配置文件  nginx.conf  打开配置文件

找到Server节点按照一下配置进行配置

server {        listen       80 ;    #监听80端口        server_name  www.hongzhuojituan.com;  #绑定域名        root         /usr/share/nginx/html;        # Load configuration files for the default server block.        include /etc/nginx/default.d/*.conf;  #指定配置文件可不填  #配置反向代理        location / {               proxy_pass http://localhost:5000;  #把80端口的访问反向代理到5000端口(你程序的启动端口),请根据实际情况修改自己的端口        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;        }        error_page 404 /404.html;            location = /40x.html {        }        error_page 500 502 503 504 /50x.html;            location = /50x.html {        }    } #配置没有带www时把请求301到有www的域名 server {        listen       80 ;        server_name  hongzhuojituan.com;               rewrite ^(.*)$ http://www.hongzhuojituan.com$1 permanent;        root         /usr/share/nginx/html;        include /etc/nginx/default.d/*.conf;        }

精简版本:

server { listen 80;     server_name   example.com *.example.com; 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 -t   检测配置文件是否有错

如果没有错的话输入命令:nginx -s reload 让nginx 加载最新的配置文件

在外界访问域名,成功访问到在5000端口运行的程序。

至此在使用Nginx进行反向代理成功,后期如果更改了程序内容需要重启对应服务。

 

转载于:https://www.cnblogs.com/Tassdar/p/9587829.html

你可能感兴趣的文章
struct和typedef struct
查看>>
9.5 在 C# 中使用 F# 库
查看>>
2016第6周六
查看>>
Windows 下 绿化 Oracle
查看>>
利用京东云擎架设免费Wordpress 博客(git方式)
查看>>
Linux开发环境搭建与使用——ubuntu更新设置
查看>>
POJ 3740 Dancing Links
查看>>
iOS开发--使用NSMutableAttributedString 实现富文本
查看>>
十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)
查看>>
iOS开发小技巧--TableView Group样式中控制每个section之间的距离
查看>>
18.OGNL与ValueStack(VS)-值栈入门
查看>>
Linux进程间通信-匿名管道
查看>>
servlet过滤器配置白名单、黑名单
查看>>
linux下cmake编译安装、配置和卸载mysql
查看>>
HDU2639Bone Collector II[01背包第k优值]
查看>>
股指期货与融资融券做空机制有什么区别?
查看>>
Linux之ls命令
查看>>
twisted的defer模式和线程池
查看>>
.Net 配置文件——继承ConfigurationSection实现自定义处理类处理自定义配置节点
查看>>
Unity UI on hololens
查看>>