Nginx简单认识
写在前面:
最近一直在学习,这几天了解了下Nginx,虽然看了些资料,斌哥也讲解了一下,但是貌似缺少了实践,就显得对其认识的不那么深刻。这里也还是简单的记录下把。
什么是Nginx?
Nginx (engine x) 是一款轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器,按照个人理解就是用来转发请求的,是个中间商。
什么是反向代理?
Nginx既然是反向代理服务器,那什么是反向代理?要知道什么是反向,就要先明白是什么正向?
正向代理:客户端非常明确想要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,并不知道来自哪个客户端。比如我们在查资料的时候,需要访问国外的网站,这个时候会发现通过我们的浏览器是访问不了的,这个时候就需要使用一个能访问国外网站的代理服务器来进行访问。我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将数据返回给我们。
反向代理:客户端的请求来源是明确的,但是请求具体由哪个服务器去处理就不明确了。比如现在一个网站有超大量的访问,如果只是单单的一个服务器,早就宕机了,所以,使用反向代理服务器,就可以按照一定的规则将请求分发到不同的服务器进行处理。
两者之间的区别:

位置不同:正向代理,架设在客户机与主机之间;反向代理,架设在服务器端。
代理对象不同:正向代理,代理客户端,服务端不知道实际发起请求的客户端;反向代理,代理服务端,客户端不知道实际提供服务的服务端。
用途不同:正向代理,为在防火墙内的局域网客户端提供访问Internet的途径;反向代理,将防火墙后面的服务器提供给Internet访问。
安全性不同:正向代理运行客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务;反向代理对外都是透明的,访问者并不知道自己访问的是哪一个代理。
这些都是摘抄来自斌哥做的ppt中的,可能要自己总结,就写不出来了,哈哈哈
什么是负载均衡?
Nginx反向代理服务器就收到的请求数量,即负载量。请求数据按照一定规则进行分发到不同的服务器处理的规则,叫做均衡规则。将接收的请求按照规则分发的过程,称为负载均衡。
如何使用?
下面简单来使用下Nginx
首先是下载http://nginx.org/en/download.html,下载windows-1.15.5的这个

下载之后进行解压,然后双击nginx.exe进行启动。这个时候窗口会一闪而过,但是并不是启动失败了。打开你的任务管理器,查看进程,会发现有两个nginx.exe,则启动成功。两个进程一个是守护进程,一个工作进程。

接着打开浏览器,输入http://localhost,回车,会看到如下页面

相关命令:
启动nginx: start nginx
重启nginx:nginx -s reload
关闭nginx: nginx -s stop
查看配置文件是否有问题:nginx -t
下面简单的配置下,看nginx是如何分发的。
我们打开nginx的配置文件nginx.conf:
upstream localhost{ #配置要分发的服务器
server localhost:8000;
server localhost:8080;
}
server {
listen 80;
server_name localhost;
location / { #配置匹配的路径,/表示所有的请求路径都到这里
proxy_pass http://localhost; #proxy_pass表示代理路径,即转发的路径,与上面设置分发的服务器的名字相同
}
将配置文件更改为这个样子,其他地方的配置,这里省略了,只是简单的配置了下。
下面,我们启动两个同名的web项目,都为spas,并设置两个项目启动的端口不一致,一个为8000,一个为8080,与nginx.conf配置文件中设置的分发的服务器的端口一致。然后打开浏览器,我们输入http://localhost/spas,回车,发现页面是访问http://localhost:8000/spas项目的页面,再多次刷新回车,发现显示的页面又是访问http://localhost:8080/spas项目的页面。


到这里就达到了我们想要的效果了,因为我们配置分发了两个服务器,所以按照匹配路径,多次刷新,会出现不同的页面。
好啦,对于Nginx也有了简单的了解与认识了,之后在项目中如果有更好的实践再去好好学习研究吧~~~
参考资料:(好几个都是斌哥ppt上整理的参考链接,看的时候也没认真仔细去看,总觉得这些对于我这个阶段来说还是有点高深的haha~)
https://blog.csdn.net/tsummerb/article/details/79248015------Nginx详解(正向代理、反向代理、负载均衡原理)
https://www.cnblogs.com/Lonelydancer/p/6219567.html-------浅谈Nginx负载均衡和F5的区别
https://blog.csdn.net/ZHBR_F1/article/details/72667451-------Nginx的配置和使用
https://www.cnblogs.com/qdhxhz/p/8910174.html------nginx入门教程
https://www.cnblogs.com/ChoviWu/p/9004725.html------nginx配置负载均衡
Nginx简单认识的更多相关文章
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- nginx简单反向代理和负载均衡(ubuntu)
nginx简单反向代理与负载均衡 环境:三台ubuntu 12.04.5 虚拟机 均装有nginx 1.1.19 以下u1(192.168.240.129) ,u2(192.168.240.13 ...
- nginx简单双机热备:backup参数的使用
nginx简单双机热备:backup参数的使用 nginx简单双机热备:backup参数的使用
- Nginx简单操作
Nginx简单操作 平滑重启:读取配置文件,正确后启动新nginx,关闭旧服务进程 # kill HUP nginx.pid # /usr/sbin/nginx -c /etc/nginx/nginx ...
- Nginx简单总结
NGINX简单总结 特点总结 nginx有一个master进程和多个worker进程,master进程是主要用来管理worker进程,管理的内容包括以下内容:接收来自外界的信号,向各个woker进程发 ...
- 负载均衡介绍及Nginx简单实现
负载均衡介绍及Nginx简单实现 负载均衡 负载均衡介绍及Nginx简单实现 1. 介绍 2. 常用的开源软件 2.1 LVS 优点 缺点 2.2 Nginx 优点 缺点 3. 常用的开源反向代理软件 ...
- 一篇文章带你了解轻量级Web服务器——Nginx简单入门
一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...
- Nginx简单实现网站的负载均衡
在大型网站搭建时,都会考虑如果用户量每日不断增加,大量的并发访问,会不会给网站.数据库带来崩盘的灾难.今天我们就讨论一下,现实中如何解决这些问题的一套最为容易实现的方案. 控制并发,大家都会首先考虑的 ...
- 使用nginx简单实现负载均衡
只是简单使用nginx玩玩而已,知道能这么用,但是在实际项目中并没有实践过,在项目不大的时候用不到,但是对于理解负载均衡来说还是可以的. 利用虚拟机安装了三个centOS系统,然后顺便装了环境. 这里 ...
- Nginx 简单记录
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...
随机推荐
- Python3 hashlib模块和hmac 模块(加密)
hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512等常用算法 MD5加密 ...
- skb管理函数之alloc_skb、dev_alloc_skb、kfree_skb、dev_kfree_skb、consume_skb
alloc_skb--分配skb dev_alloc_skb--分配skb,通常被设备驱动用在中断上下文中,它是alloc_skb的封装函数,因为在中断处理函数中被调用,因此要求原子操作(GFP_AT ...
- Python Matplotlib图表汉字显示成框框的解决办法
http://blog.sina.com.cn/s/blog_662dcb820102vu3d.html http://blog.csdn.net/fyuanfena/article/details/ ...
- (八)hope
vi svnserve.conf vi passwdvi authz svnserve -d -r /usr/svnkillall svnserveps -ef | grep svnserve svn ...
- Linux配置Tomcat
系统:Ubuntu,Tomcat:apache-tomcat-8.5.23.tar.gz 1,找到apache-tomcat-8.5.23.tar.gz,复制到 /usr/local root@ubu ...
- Python的web服务器
1.浏览器请求动态页面过程 2.WSGI Python Web Server Gateway Interface (或简称 WSGI,读作“wizgy”). WSGI允许开发者将选择web框架和web ...
- Python抓取学院新闻报告
Python案例 scrapy抓取学院新闻报告 任务 抓取四川大学公共管理学院官网(http://ggglxy.scu.edu.cn)所有的新闻咨询. 实验流程 1.确定抓取目标.2.制定抓取规则.3 ...
- ubuntu 10.04打开错误
打开ubuntu时,出现的错误如下: Invalid configuration file. File "E:\Ubuntu12.04.vmwarevm\Ubuntu12.04.vmx&qu ...
- centos安装VNC的方法
https://help.aliyun.com/knowledge_detail/6698160.html(阿里云官方文档,但是官方文档有些地方是错的,我更正了下) ----------------- ...
- RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?
https://www.zhihu.com/question/25912483?sort=created