【Ngnix】可提供负载均衡反向代理的web服务器

前言

之前我们用IIS搭建的是web服务器即内网服务器,但通常不直接接受外网用户请求,由反向代理服务器充当这一衔接角色,用户直接访问反向代理服务器就可以获得目标服务器的资源。为提高网络吞吐和加强网络数据处理能力,可以通过均衡分在将任务分发给多个单元(如:web、ftp等服务器)进行处理。
而Nginx就是集Web服务器+反向代理+负载均衡于一体,通常作为负载均衡器暴露在外网接受用户请求,使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。

配置

1.下载稳定版并解压
2.cmd下启动:

D: && cd D:\SOFT_IT\nginx-1.18.0
start nginx

3.启动成功后,浏览器访问 localhost,即可看到Nginx 欢迎页。注意初始默认端口是80,所以就直接localhost,要是别的端口需要加端口号。要是别的应用占用了该端口需要解除
4.主要配置文件…\conf\nginx.conf更改。配置完记得重新加载配置 nginx -s reload
server {
listen 81;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:5000; #请求转向
root html; #root为根目录(nginx.exe所在的目录) html为root下的文件夹
index index.html index.htm; #设置默认页
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
listen 表示ngnix监听的端口号,默认是80;
server_name 表示访问的地址。这里填写与服务器关联的域名。
location下的proxy_pass表示它代理的地址;
重要的就是这三个地方。当访问server_name 后填的网址的listen后的监听端口时,都将转到proxy_pass后所填写的地址。
PS:Nginx配置文件详解
当用户请求 / 地址时,Nginx 就会自动在 root 配置指令指定的文件系统目录html下依次寻找index后指定的文件,默认为index.htm 和index.html
在这里插入图片描述PS:这些命令只有在cmd启动时的那个路径下使用才有效

外网访问

这里就简单的以Flask为例了,虽然其实主要是web框架,但Flask底层是基于werkzeug开发的,而werkzeug也实现了WSGI容器的功能,且利用python/http/server.py库实现了一个简易的http服务器。故使用app.run()启动flask应用(隐藏着创建一个服务器),app应用本身会作为参数传递到WSGI服务器中。(值得注意的是这里所实现的WSGI与http服务器很欠缺不能用于产品)

之前用nat123软件进行内网穿透的,结果只是试用失效了,是需要付费的。今天换了神卓,可能过些天也会失效。要是大佬有可靠的穿透方法,还请不吝指点,在此谢过。
在这里插入图片描述
大图一上,世界变亮。
给大家分享一个小故事:我是前两天因为课程作业的需要才接触的外网,啥也不懂就是。在今天可以再次内网穿透的时候,我就寻思要不在失效之前让另一个项目的负责人看一下我之前做的项目界面吧,因为疫情,我也一直没有返校,它也只是看过我的界面截图。我先是用手机访问了下,en可以的,然后链接就分享了出去,然后它也顺利看到了,之后在我的引领下,浏览了文件并上传,然后我的电脑就在哪嗡嗡嗡的,我还寻思咋回事呢。它那边链接就不好使了,然后我看看文件夹,哎呦我去多了一张命名很奇怪的图片(都是1),点开一看这显然不是我的,反馈验证后,发现上传成功了,然后我这笔记本也崩了哈哈哈
感觉这块水还是挺深的,小白但长得不白的我希望能有大佬可以指点一二,正好夏天热不如下来凉快凉快

猜你喜欢

转载自blog.csdn.net/qq_40265247/article/details/106353616
今日推荐