学习——nginx(2021/09/23)


1、简介

  "Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。"
  学习:https://www.runoob.com/w3cnote/nginx-setup-intro.html
  官网:http://nginx.org/

2、功能

  Http代理,反向代理
  负载均衡
  web缓存

3、命令

  启动:
    windows里面:双击exe文件
    命令行:start nginx
  停止:
    立即停止:nginx -s stop
    从容停止:nginx -s quit
    杀死进程:killall nginx
  重启:
    命令行:nginx -s reload

4、配置注释

#运行用户,可以不配置
#user nobody;
#进程,一般和CPU一致
worker_processes 1;
#错误日志存放目录
#error_log /logs/error.log warn;
#进程pid存放位置
#pid /run/nginx.pid;

#单个进行最大并发数
events {
  worker_connections 1024;
}

#http配置项
http {
  #文件扩展名与类型映射表文件
  include mime.types;
  #默认文件类型
  default_type application/octet-stream;
  #设置日志模式
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';
  #访问日志存放位置
  access_log logs/access.log main;
  #开启高效传输模式
  sendfile on;
  #减少网络报文段的数量
  #tcp_nopush on;
  #保持连接时间,或超时时间
  keepalive_timeout 65;

  #包含自配置项
  #include /conf/*.conf;
  #http下面,控制全局nginx所有请求报文大小
  client_max_body_size 10M;

  #开启gzip压缩服务
  #gzip on;
  #对指定的文件进行压缩输出
  #gzip_types text/plain application/javascript text/css;

  #实现负载均衡
  #--upstream
  #--ipHost:负载的ip集合名称
  #--weight:权重,均衡优先配置
  upstream ipHost {
    #server 123.128.182.166:10087 weight=1;
    server 123.128.130.134:10087 weight=5;
  }

  #另一个实现负载均衡
  upstream appweb {
    server 123.212.134.134:7001;
    #server 132.212.116.195:10080;
  }

  #server配置项,可配置多个server,监听多个端口
  server {
    #监听端口,启动nginx后的访问端口号
    listen 9006;
    #访问域名
    server_name localhost;
    #设置网页字符串类型
    #charset koi8-r;
    #访问的日志
    #access_log logs/host.access.log main;

    #服务启动默认目录和文件
    location / {
      #访问控制,禁止访问的ip
      #deny 143.243.112.116;
      #deny 143.241.22.243;
      #访问控制,允许访问的ip
      #allow all;

      #默认访问目录路径(alias也可以配置路径,注意格式不同)
      root D:/workSpace/git/;
      #默认访问文件名称
      index index.html index.htm;
    }

    #配置404页面
    #error_page 404 /404.html;
    #配置错误状态码页面
    #error_page 500 502 503 504 /50x.html;

    #错误状态码页面指向
    location = /50x.html {
      root html;
    }
    #错误状态码页面指向
    location = /404.html {
      root html;
    }

    #配置同域名下的上下文
    location /corpwebci/{
      #客户端请求发送给服务端前,更改来自客户端的请求头信息
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      #上下文对应的服务器
      proxy_pass http://123.122.134.134:7001/corp/;
    }
    #配置同域名下的上下文(可配置多个上下文)
    location /corpwebsit/{
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass https://123.123.com.cn/corp/;
    }

    #正则样例
    location ^~ /abc{
      root html;
      index index.html index.htm;
    }
   }
}
原文地址:https://www.cnblogs.com/wqsix/p/15323036.html