nginx前端常用配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    # 数值必须是32的倍数
    server_names_hash_bucket_size 64;

    # 开启gzip
    gzip on;
    # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
    gzip_min_length 1k;
    # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
    gzip_comp_level 4;
    # 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff;
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;
    # 禁用IE 6 gzip
    gzip_disable "MSIE [1-6]\.";
    # 设置压缩所需要的缓冲区大小
    gzip_buffers 32 4k;
    # 设置gzip压缩针对的HTTP协议版本
    gzip_http_version 1.1;
    server {
        listen       83;
        server_name  localhost;
        client_max_body_size 1000M;
        # = 开头表示精确匹配,如 = /,后面不能带任何字符串,精确匹配 / ,主机名后面不能带任何字符串;
        # ^~ 开头表示uri以某个常规字符串开头,不是正则匹配,如^~ /images/ 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条;
        # ~ 开头表示区分大小写的正则匹配;
        # ~* 开头表示不区分大小写的正则匹配;
        # / 通用匹配, 如果没有其它匹配,任何请求都会匹配到。
        # 优先级 ( location = ) > ( location 完整路径 ) > ( location ^~ 路径 ) > ( location * 正则顺序 ) > ( location 部分起始路径 ) > ( / )
        location / {
            root D:/preject/nginx-demo;
            # index index.html;
            # 如果不写上 $uri/,当直接访问一个目录路径时,并不会去匹配目录下的索引页
            # 比如 请求 http://locahost:83/test.html
            # 会依次查找 1.文件D:/preject/nginx-demo/test.html  2.文件夹 D:/preject/nginx-demo/test.html下的index文件  3. 请求D:/preject/nginx-demo/index.html
            try_files $uri $uri/ /index.html;
            if ($request_filename ~* .*\.(?:htm|html)$){
                 # 这里注意:no-cache与no-store的区别,no-cache表示不缓存过期资源,缓存会向服务器进行有效处理确认之后处理资源,而no-store才是真正的不进行缓存。
                 add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
            }
            if ($request_filename ~* .*\.(?:js|css)$) {
                expires max;
            }
            if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
                expires max;
            }
        }
        location ^~/baiduImg/ {
            # 代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
            proxy_pass https://img0.baidu.com/;
        }
        location ^~/baidu/ {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass https://www.baidu.com/;
        }
    }
    server {
        listen       83;
        server_name  localuat-epec.sinopec.com;

        location / {
           root D:/preject/nginx-demo/sinopec;
           index  index.html index.htm;
           try_files $uri $uri/ /index.html;
            if ($request_filename ~* .*\.(?:htm|html)$){
                 add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
            }
            if ($request_filename ~* .*\.(?:js|css)$) {
                expires max;
            }
            if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
                expires max;
            }
            if ($request_filename ~* .*\.(?:woff|ttf)$){
                add_header 'Access-Control-Allow-Origin' 'http://localuat-epec.sinopec.com:8000' always;
                add_header 'Access-Control-Allow-Methods' 'GET';
                add_header 'Access-Control-Allow-Credentials' true;
                add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type';
                expires 7d;
            }
        }
    }
    server {
        listen       84;
        server_name  localuat-epec.sinopec.com;

        location / {
           root D:/preject/product-front/product;
           index  index.html index.htm;
           #try_files $uri $uri/ /index.html;
            if ($request_filename ~* .*\.(?:htm|html)$){
                 add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
            }
            if ($request_filename ~* .*\.(?:js|css)$) {
                expires max;
            }
            if ($request_filename ~* .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$){
                expires max;
            }
            if ($request_filename ~* .*\.(?:woff|ttf)$){
                add_header 'Access-Control-Allow-Origin' 'http://localuat-epec.sinopec.com:8000' always;
                add_header 'Access-Control-Allow-Methods' 'GET';
                add_header 'Access-Control-Allow-Credentials' true;
                add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Content-Type';
                expires 7d;
            }
        }
    }
     server {
            listen       443 ssl;
            server_name  git.paas.sinopec.com;
            ssl_certificate      server.crt;
            ssl_certificate_key  server.key;
            #设置存储session参数的缓存的类型和大小。缓存可以是下面任何一种类型
            #off 严格禁止使用会话缓存:nginx明确告知客户端会话不可重用。
            #none 会话缓存是不允许的:nginx告知客户端会话可以重用,但并没有在缓存中存储会话参数。
            #builtin 在OpenSSL中构建缓存;只能被一个工作进程使用。缓存的大小在会话中指定,如果没有指定大小,默认20480个会话。使用内置缓存会导致内存碎片化。
            #shared 缓存在所有工作进程之间共享。缓存大小按照字节为单位指定;1MB可以存储4000个会话。每块共享内存都应该起个名字。同一块缓存可以在多个虚拟服务中使用。
            #启用 SSL Session 缓存可以大大减少 TLS 的反复验证,减少 TLS 握手的 roundtrip。虽然 session 缓存会占用一定内存,但是用 1M 的内存就可以缓存 4000 个连接,可以说是非常非常划算的。同时,对于绝大多数网站和服务,要达到 4000 个同时连接本身就需要非常非常大的用户基数
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;
            # 限制请求体的大小,若超过所设定的大小,返回413错误。
            client_max_body_size 1000M;
            location / {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass https://git.paas.sinopec.com;
            }
        }
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容