Nginx的介绍及使用
什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,特点是占用内存少,并发能力强。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,能够支持高达 50,000 个并发连接数的响应。
反向代理
正向代理
所谓正向代理就是顺着请求的方向进行的代理,即代理服务器是由你配置为你服务,去请求目标服务器地址。
比如我们要去访问谷歌网站,我们直接访问不通,那么我们就可以找一个代理服务器为我们服务,我们通过代理服务器请求到谷歌网站。对于谷歌而言他只知道有一个服务器访问了自己,并不知道这件事你是访问不了他,找了一个代理服务器访问自己。
反向代理
所谓反向代理正好与正向代理相反,代理服务器是为目标服务器服务的,虽然整体的请求返回路线都是一样的都是Client到Proxy到Server。
比如 我们访问百度网站,百度的代理服务器对外的域名为 https://www.baidu.com 。具体内部的服务器节点我们不知道。现实中我们通过访问百度的代理服务器后,代理服务器给我们转发请求到他们N多的服务器节点中的一个给我们进行搜索后将结果返回。
负载均衡
对于高访问量网站,单个服务器不能正常提供服务,就需要增加服务器的数量,然后将请求分发到各个服务器上。将请求负载分发到不同的服务器,就是我们所说的负载均衡。
动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
Nginx的配置文件
- nginx配置文件由三部分组成
- 全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令
比如worker_processes 1;
worker_processes 值越大,可以支持的并发处理量也越多 - events块
events块涉及的指令主要影响nginx服务器与用户的网络连接
比如worker_connections 1024;
支持的最大连接数 - http块
nginx服务器配置中修改最频繁的部分
http块也可以包括 http全局块,server块
Nginx配置实例-反向代理
配置文件是从github中复制过来,并且把注释全部删掉,进而进行对应修改
# 全局块
worker_processes 1;
# events块
events {
worker_connections 1024;
}
# http块
http {
# http全局块
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# server块
server {
# nginx监听的端口号
listen 80;
# 域名
server_name enhui.fun;
location / {
root html;
# 反向代理的地址
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}