使用Nginx对.NetCore站点进行反向代理

前言

以前的博客我已经在Linux上部署好了.NetCore站点且经过Supervisor对站点进行了进程守护,同时也安装好了Nginx。
Nginx的用处很是大,仍是简单说下,它最大的功能就是方便咱们作后续的横向拓展,当站点的流量愈来愈大时候能够进行负载均衡,反向代理最大用处也是如此。前端

 

反向代理
反向代理我是这么理解的,用户在客户端输入指定的url,这个url对应的服务器实际上不必定是最终处理该请求的服务器,能够将这个服务器做为一个中间层,它能够将请求再次分发到指定的应用服务器上,而后获得反馈后再返回给客户端。固然对于一些静态资源的请求或者有动态资源缓存则直接将这些静态资源或者缓存数据返回给客户端,从而减轻了应用服务器的压力。nginx

正向请求
正向请求相比反向请求部署更简单,请求的链路也更短,对于压力不大的站点能够采起这种方式,反向代理若是不该用在请求量较大的站点则我我的认为是多此一举,由于它自己的请求链路就加长了,某种程度上也下降了请求速度。vim

配置nginx.conf配置文件

如需nginx进行对站点的反向代理须要对/usr/local/nginx/conf/nginx.conf 进行配置缓存

输入 vim /usr/local/nginx/conf/nginx.conf  咱们找到http节点下的server,以下图服务器

 

 

 

将location /下面的内容进行更新,以下图负载均衡

 

 

 

将root和index更新为 proxy_pass http://localhost:5000
http://localhost:5000正是咱们部署好的站点路径,咱们配置的结果就是将上面监听到的80端口的请求最终再跳转到咱们刚刚配置的5000端口去。编辑器

这里也对配置文件的一些节点作简单介绍:url

  • listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,若是配置了多个server,这个listen要配置不同。
  • server_name:表示监听到以后须要转到哪里去,这时咱们直接转到本地,这时是直接到nginx文件夹内。
  • location:表示匹配的路径,这时配置了/表示全部请求都被匹配到这里
  • root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对咱们以后的静态文件伺服颇有用。
  • index:当没有指定主页时,默认会选择这个指定的文件,它能够有多个,并按顺序来加载,若是第一个不存在,则找第二个,依此类推。

在vim编辑器内编辑完毕后转为命令模式输入:wq 保存并退出。3d

检查nginx配置

输入以下命令进行检查代理

/usr/local/nginx/sbin/nginx -t

出现下图表示正确
0619d2b9448b6f2712db41ba8d048b3e.png

从新加载配置文件并重启nginx

输入以下命令重启nginx



/usr/local/nginx/sbin/nginx -s reload/usr/local/nginx/sbin/nginx -s reload

从新reload可能会出现以下错误

nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

解决方式,在Linux控制台输入下面命令

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

这时候输入命令
netstat -tunlp
查看Nginx已正常运行,以下图

嘿嘿,而后在客户端经过80端口也能够访问咱们以前端口号为5000的.Netcore站点啦

相关文章
相关标签/搜索