web服务(也有人叫web服务器、web中间件)官网戳这 也可以用于负载均衡、缓存、安全

特性:标记

  • 支持几w高并发连接(尤其静态小文件)
  • 资源消耗少,3w并发连接下,开启10个nginx线程消耗不到200MB内存
  • 可以做为缓存或负载均衡(也叫反向代理),有健康检查功能
  • 支持异步网络IO模型

使用

选择稳定版即可,即Stable version,一般用yum安装。

  1. 配置yum源
  2. yum install -y nginx

    1. systemctl start nginx
    2. systemctl enable nginx
    3. systemctl status nginx
    4. ss -lntup|grep nginx
    5. ps -ef|grep nginx

    核心目录

    /etc/nginx/nginx.conf /etc/nginx/conf.d/*.conf

    主配置文件 子配置文件
    点击查看【processon】

    /var/log/nginx/

    日志文件

    虚拟主机

    每一个server{}就是一个虚拟主机

  3. 基于域名的虚拟主机,一般是换三级域名

  4. 基于端口的虚拟主机,一般更换80端口(不常用)
  5. 基于ip的虚拟主机,设置监听的ip,可用于内网访问

listen 本地内网ip:80;

默认主机

当用户访问不存在的域名虚拟主机,会默认访问第一个主机,所以需要指定虚拟主机

  1. server {
  2. listen 80 default_server; #这个虚拟主机是默认的. 如果其他虚拟主机都不匹配的,则使用这个默认的.
  3. server_name ""; #安全:如果用户请求的域名是空的. 也匹配这个虚拟主机.
  4. charset utf8; #指定字符集.
  5. default_type text/plain; #指定这个虚拟主机中默认的媒体类型(文件类型),因为下面的return 输出内容.
  6. return 200 "别闹,没事别乱访问"; #输出指定内容200 +指定内容
  7. }

rewrite模块

return

  1. return 200 "内容"
  2. return 301/302 http://xxxxx$request_uri
  3. # return和rewrite的跳转都会修改响应体中location,达到跳转的效果

set

  1. set $变量名 xxx
  2. # 设置的变量可以放在access_log格式中或给下面的if,return用。
  3. # 网站维护案例,据说搞这么麻烦是应为替换0比较方便
  4. set $weihu 0
  5. if ($weihu){
  6. return 503
  7. }

rewrite

  1. rewrite (^.*$) http://www.baidu.com/$1; # 正则匹配的是uri
  2. redirect 302 临时跳转,默认的.外部跳转.
  3. permanent 301 永久跳转.外部跳转.
  4. break rewrite处理完这个请求后,后面如果还有内容,不会处理直接结束.ngx内部跳转.
  5. last rewrite处理完成这个请求后,新的请求会在nginx内部进行匹配与处理.ngx内部跳转.

四层负载

  1. 去掉六层负载的内容即可

其他

  • 本地hosts文件路径 C:\Windows\System32\drivers\etc\hosts
  • nginx默认站点目录 /usr/share/nginx/html/
  • nginx模块查询

    用户上网流程图

    点击查看【processon】

    和lvs的区别

    负载用lvs增加并发的原理

nginx优化