web服务(也有人叫web服务器、web中间件)官网戳这 也可以用于负载均衡、缓存、安全
特性:标记
- 支持几w高并发连接(尤其静态小文件)
- 资源消耗少,3w并发连接下,开启10个nginx线程消耗不到200MB内存
- 可以做为缓存或负载均衡(也叫反向代理),有健康检查功能
- 支持异步网络IO模型
使用
选择稳定版即可,即Stable version,一般用yum安装。
- 配置yum源
yum install -y nginxsystemctl start nginxsystemctl enable nginxsystemctl status nginxss -lntup|grep nginxps -ef|grep nginx
核心目录
/etc/nginx/nginx.conf /etc/nginx/conf.d/*.conf
主配置文件 子配置文件
点击查看【processon】/var/log/nginx/
虚拟主机
每一个server{}就是一个虚拟主机
基于域名的虚拟主机,一般是换三级域名
- 基于端口的虚拟主机,一般更换80端口(不常用)
- 基于ip的虚拟主机,设置监听的ip,可用于内网访问
默认主机
当用户访问不存在的域名虚拟主机,会默认访问第一个主机,所以需要指定虚拟主机
server {listen 80 default_server; #这个虚拟主机是默认的. 如果其他虚拟主机都不匹配的,则使用这个默认的.server_name ""; #安全:如果用户请求的域名是空的. 也匹配这个虚拟主机.charset utf8; #指定字符集.default_type text/plain; #指定这个虚拟主机中默认的媒体类型(文件类型),因为下面的return 输出内容.return 200 "别闹,没事别乱访问"; #输出指定内容200 +指定内容}
rewrite模块
return
return 200 "内容"return 301/302 http://xxxxx$request_uri# return和rewrite的跳转都会修改响应体中location,达到跳转的效果
set
set $变量名 xxx# 设置的变量可以放在access_log格式中或给下面的if,return用。# 网站维护案例,据说搞这么麻烦是应为替换0比较方便set $weihu 0if ($weihu){return 503}
rewrite
rewrite (^.*$) http://www.baidu.com/$1; # 正则匹配的是uriredirect 302 临时跳转,默认的.外部跳转.permanent 301 永久跳转.外部跳转.break rewrite处理完这个请求后,后面如果还有内容,不会处理直接结束.ngx内部跳转.last rewrite处理完成这个请求后,新的请求会在nginx内部进行匹配与处理.ngx内部跳转.
四层负载
去掉六层负载的内容即可
其他
- 本地hosts文件路径 C:\Windows\System32\drivers\etc\hosts
- nginx默认站点目录 /usr/share/nginx/html/
- nginx模块查询
用户上网流程图
点击查看【processon】和lvs的区别
负载用lvs增加并发的原理
