概述
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器。
特点是占有内存小,并发能力强,简单易配置,支持高达 50000 个并发连接数的响应。
作用
代理
正向代理:
反向代理:
负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。
轮询
加权轮询
ip hash
iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
动静分离
动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jg、js等等文件),这些不需要经过后台处理的文件称为静态文件。
让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
安装 Nginx
nginx: download
把该文件解压到一个非中文的目录,然后在 cmd 打开:
访问 http 默认端口 80:
在 http 里面配置多个 server 端口:
实战 - 反向代理+负载均衡
# 全局配置
events {
worker_connections 1024;
}
http {
# http 配置
upstream backend {
# 负载均衡配置 端口 权重
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:8081 weight=2;
}
server {
listen 80;
server_name localhost;
# 代理
location / {
root html;
index index.html index.htm;
}
location /api/ {
proxy_pass http://backend; # backend 与上面的 upstream backend 名字对应
}
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root html;
# }
}
}