该文章用于帮助快速入门Nginx,包括nginx主要的3个用处,简单配置说明等。
Nginx简介
nginx是一个轻量级【1.18版本不到2M大小】的http和反向代理的web服务器,特点是占用内存小且性能高。官方测试表明其最高支持5w个并发连接数的响应。主要用于反向代理,负载均衡以及动静分离等。
Nginx的作用
- 反向代理:相当于网关,类似于服务器的vpn。各个服务器通过Nginx来响应客服端的请求。并且隐藏服务器的ip地址。客户端的请求到达Nginx后,由Nginx根据一定的规则【负载均衡】将请求分发给各个服务器。反向代理如下:
- 动静分离:简单来说,就是动态请求和静态请求分开,也可以理解成使用Nginx处理静态页面,tomcat处理动态页面。其主要目的是为了将加快网站解析速度。
- 负载均衡:Nginx请求的分发方式(规则),保证最大化的利用所代理的服务器资源。Nginx的分发方式有 轮询,加权,ip-hash 等。
Nginx常用命令
./nginx 启动
./nginx -s stop 停止
./nginx -s quit 安全退出
./nginx -s reload 重新加载配置文件,热加载
ps aux|grep nginx 查看nginx进程
nginx.conf基本配置
nginx.conf在 Nginx安装目录下 /conf 文件夹中
使用Nginx中快速搭建一个由 3台服务器 A B C 构成的简单 负载均衡体系。
来阐述 Nginx.conf 文件中的常用基本配置。
...
http {
...
# 反向代理配置,upstreamName为自定义反向代理名称
upstream upstreamName{
# 代理的服务 weight表示权重
server localhost_B:8080 weight=2;
server localhost_C:8080 weight=1;
}
# http块可以有多个server块,每个server块都相当于一台虚拟主机
server {
listen 80;
server_name localhost;
# 当调用https://localhost/ 的时候使用该配置
location / {
root html;
index index.html index.htm;
proxy_pass http://upstreamName;
}
}
...
}