nginx基础使用指南
|
admin
2025年8月24日 21:51
本文热度 105
|
笔记使用的是Linux系统,注意甄别
ngnix基础知识
nginx介绍
- Nginx 是一款轻量级的高性能 Web 服务器、反向代理服务器,同时也可以作为邮件代理服务器。
- 作为 Web 服务器:它能够处理静态文件(如 HTML、CSS、图片等)的请求,具有高效的处理能力。在处理大量并发连接时表现出色,能够快速响应客户端请求,减少服务器的负载和响应时间。例如,在一个有大量用户访问静态网页资源的网站场景中,Nginx 可以高效地分发这些请求,提高用户体验。
- 作为反向代理服务器:Nginx 接收来自互联网上的 HTTP 请求,并将请求转发到后端的 Web 服务器(如 Apache、Tomcat 等)。这样做有几个好处,一是可以隐藏后端服务器的真实架构,增强安全性;二是可以实现负载均衡,将请求均匀地分配到多个后端服务器上,提高整个系统的处理能力和可靠性。比如,在一个大型电商网站中,订单处理、商品展示等可能分布在多个后端服务器上,Nginx 可以根据设定的策略将用户的请求合理地分配到这些服务器。
- 特点:Nginx 拥有高并发能力,能轻松处理数以万计的并发连接。它的内存占用少,配置简单灵活,通过简单的配置文件可以实现各种功能的调整。同时,Nginx 具有良好的扩展性,可以通过添加模块来实现更多的功能,如缓存模块可以提高对重复请求的响应速度。
版本介绍
常用的版本为以下四种:
- https://tengine.taobao.org/
目录结构
nginx主要的目录如下:
html
:存储静态文件的默认目录 html、css等
基本运行原理

Nginx配置与应用场景
最小配置
- worker_processes 1:默认为1,表示开启一个业务进程
- **worker_connections 1024;**:单个业务进程可接受连接数
- **include mine.types;**:引入http mine类型
default_type application/octet-stream;
- **default_type application/octet-stream;**:如果mime类型没匹配上,默认使用二进制流的方式传输
- **sendfile on;**:使用linux的 sendfile(socket, file, len) 搞笑网络传输,也就是数据0拷贝
虚拟主机
虚拟主机在nginx是一个非常重要的概念,和传统的虚拟机不同,nginx的虚拟主机主要功能是 虚拟化成多个站点同时对外提供服务

基础配置
server {
listen 80; 监听端口号
server_name localhost; 主机名
location / { 匹配路径
root html; 文件根目录
index index.html index.htm; 默认页名称
}
error_page 500 502 503 504 /50x.html; 报错编码对应页面
location = /50x.html {
root html;
}
}
server_name
server_name不仅只能指定一个域名,也可以指定多个
server_name vod.mmban.com www1.mmban.com;
同时也可以通过正则表达式匹配
server_name *.mmban.com
server_name vod.*;
server_name ~^[0-9]+\.mmban\.com$;
反向代理
Web 服务器代理外部网络用户访问内部服务器资源。对于客户端来说,它好像就是实际提供服务的服务器,客户端向反向代理发送请求,反向代理再将请求转发到内部真正的服务器去获取资源,并把结果回传给客户端。

localtion / {proxy_pass xxx;}
负载均衡
负载均衡会先接收来自客户端的请求,然后依据预设的算法(比如轮询算法,即按顺序依次将请求分配到不同服务器;加权轮询算法,会根据服务器性能等因素为不同服务器设置权重,性能强的权重高,接收更多请求;还有最少连接数算法,优先把请求分配到当前连接数最少的服务器等),将这些请求均衡地分发到后端的多个服务器上去处理。
轮询
nginx默认的负载均衡算法就是轮询,字面意思,nginx将请求按照顺序获取不同server之间的响应

upstream xxx {
server xxxx;
server xxxx;
}
server {
location / {
proxy_pass http://xxx;
}
}
weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream {
server 127.0.0.1:8050 weight=10 down;
server 127.0.0.1:8060 weight=1;
server 127.0.0.1:8060 weight=1 backup;
}
weight
:默认为1。weight越大,负载的权重就越大。backup
: 其它所有的非backup机器down或者忙的时候,请求backup机器。
阅读原文:原文链接
该文章在 2025/8/25 13:06:17 编辑过