2.搭建可用的静态资源web服务器-

2020-04-15  本文已影响0人  _小二_
配置文件 nginx.conf:
worker_processes  1;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format(配置的日志格式)  main(格式命名)  '$remote_addr(远端的ip地址) - $remote_user [$time_local(当时的时间)] "$request" '
                   '$status(响应的状态码 403,200等) $body_bytes_sent "$http_referer" '
                 '"$http_user_agent" "$http_x_forwarded_for"';  #- --这些内置的变量只要是安装了模块的,都可以直接使用

    access_log(access_log所处的位置,决定了他所属的请求)  logs/access.log(日志文件路径)  main(上面命名的日志格式);

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    #---------优化-------
    gzip  on;   #--压缩功能
    gzip_min_length  1; #--小于1字节的内容不进行压缩  压缩的最小值
    gzip_comp_level 2;  #-- 压缩级别
    gzip_types   text/plain application/x-javascript  text/css  application/xml  text/javascript  image/jpeg  image/png  image/gif;  #---指的是那些类型的文件需要被压缩  
    #---------优化----
    server {
    listen       80;   #--监听端口
    server_name  localhost; #-- 访问域名
    #charset koi8-r;
    access_log  logs/host.access.log  main; #(所有发自localhost请求域名的日志都会记录在这个日志文件)
    location /   (location后面加 / 表示对应url所有的请求){       #location有两种方式对应本地文件,一种是 root(存在一个问题,会把url中的路径带入到文件系统中),还有一种是 alias (与对应参数后面的文件系统一一对应, 若 alias  dlib/ 则是安装目录下的dlib 文件为资源文件 ) 
        root   html;
        autoindex on;   #如果当前开关打开,那么以 / 结尾,就会显示出对应的资源目录层级
        set $limit_rate 1k;  #限制nginx的响应速度  每秒传输 1k 字节--1k会非常慢
        index  index.html index.htm;
    }
    #-------反向代理服务器配置
   upstream(上游服务配置) local (当前服务命名为local){
        server  127.0.0.1:8080;  #反向代理服务器 127.0.0.1 指的是本机,,在upstream 可以添加多个server。
   }
   proxy_cache_path  /tmp/nginxcache(文件写在那个路径下) levels=1:2  keys_zone=my_cache:10m(缓存的关键字放在共享内存my_cache中,my_cache为10m大小)  max_size=10g inactive=60m use_temp_path=off;
   server {
      server_name  test.com;  #-- 访问本代理服务器的域名
      listen  80; # --端口
      location  / {
          proxy_set_header  Host   $host;  #--- 发送用户端访问域名给真实服务器,当使用反向代理时,用户端和代理服务器是一个链接,代理服务器和真实服务器是另一个链接,,使用proxy_set_header 可以设置用户端的数据,发送给真实服务器。例如 Host,X-Real-Ip,X-Forwarded-For等
          proxy_set_header  X-Real-Ip   $remote_addr; # --发送用户端的ip给真实服务器
          proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
          proxy_cache  my_cache; #--使用代理缓存 my_cache,,使用这个命令需要先配置 proxy_cache_path 参数
          proxy_cache_key  $host$url$is_args$args; # --缓存使用的key
          proxy_cache_valid   304 302 Id;   #---不返回的响应
          proxy_pass  http://local; # -- 反向代理配置,这里的locals指的是上面upstream的命名
      }
    }
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}

上一篇下一篇

猜你喜欢

热点阅读