前后端分离的nginx配置

一下所有的文件都是在nginx安装目录的conf目录下:

  1 #user  nobody;
  2 # 一般一个就够
  3 # 如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样
  4 worker_processes  1;
  5 
  6 #error_log  logs/error.log;
  7 #error_log  logs/error.log  notice;
  8 #error_log  logs/error.log  info;
  9 
 10 #pid        logs/nginx.pid;
 11 
 12 events {
 13     # number的值不能大于操作系统能打开的最大的文件句柄数,使用ulimit -n可以查看当前操作系统支持的最大文件句柄数,默认为为1024
 14     worker_connections  1024;
 15     multi_accept on;
 16     use epoll;
 17 }
 18 
 19 
 20 http {
 21     include       mime.types;
 22     default_type  application/octet-stream;
 23     charset UTF-8;
 24 
 25     log_format  main     '{"@timestamp":"$time_iso8601",'
 26                         '"host":"$server_addr",'
 27                         '"clientip":"$remote_addr",'
 28                         '"request":"$request",'
 29                         '"size":$body_bytes_sent,'
 30                         '"responsetime":$request_time,'
 31                         '"upstreamtime":"$upstream_response_time",'
 32                         '"upstreamhost":"$upstream_addr",'
 33                         '"upstreamstatus":"$upstream_status",'
 34                         '"http_host":"$host",'
 35                         '"url":"$uri",'
 36                         '"domain":"$host",'
 37                         '"xff":"$http_x_forwarded_for",'
 38                         '"referer":"$http_referer",'
 39                         '"agent":"$http_user_agent",'
 40                         '"status":"$status"}';
 41 
 42     # server内可以重新定义去重写文件位置
 43     access_log  logs/access.log  main;
 44     #error_log   logs/error.log;
 45 
 46     # 隐藏nginx版本
 47     server_tokens off;
 48     sendfile on;
 49     tcp_nopush on;
 50     tcp_nodelay on;
 51 
 52     # 设置超时时间
 53     keepalive_timeout 60;
 54     client_body_timeout 120s;
 55     client_header_timeout 180s;
 56     reset_timedout_connection on;
 57     send_timeout 60;
 58     
 59     # 每一个IP地址最多同时打开有100个连接
 60     limit_conn addr 100;
 61     limit_conn_zone $binary_remote_addr zone=addr:5m;
 62 
 63     server_names_hash_bucket_size 128;
 64     client_header_buffer_size 32k;
 65     large_client_header_buffers 8 64k;
 66     client_max_body_size 512m;
 67     client_body_buffer_size 20m;
 68 
 69     # 打开文件缓存
 70     open_file_cache max=200000 inactive=20s;
 71     open_file_cache_valid 30s;
 72     open_file_cache_min_uses 2;
 73     open_file_cache_errors on;
 74 
 75     # 改善网站的性能:减少资源占用,提高访问速度
 76     fastcgi_connect_timeout 120s;
 77     fastcgi_read_timeout 120s;
 78     fastcgi_send_timeout 120s;
 79     fastcgi_buffers 8 128k;
 80     fastcgi_buffer_size 128k;
 81     fastcgi_intercept_errors on;
 82     fastcgi_busy_buffers_size 128k;
 83 
 84     # 启动gzip压缩
 85     gzip on;
 86     gzip_static on;
 87     gzip_disable "msie6";
 88     gzip_proxied any;
 89     gzip_min_length  1k;
 90     # 压缩比,1-9,数值越大压缩比率越大
 91     gzip_comp_level 6;
 92     gzip_buffers     4 16k;
 93     gzip_http_version 1.1;
 94     gzip_types  text/plain application/javascript application/x-javascript application/font-woff 
            text/css application/xml text/javascript application/x-httpd-php image/jpeg
            image/gif image/png application/json application/xml+rss; 95 gzip_vary on;

          # 禁止未定义的域名或者ip进行访问
          server {
             listen 80 default_server;
             return 444;
          }

 96 
 97     # 多配置文件模式,将不同的http模块放到不同的目录文件中去
 98     # 遍历加载当前目录下conf.d目录下所有的.conf文件
 99     include conf.d/*.conf;
100 }

 

upstream services {
    server 127.0.0.1:8080;
    # 可配置多个
    # server 127.0.0.1:8081;
}

server {
    # 访问端口
    listen 80;
    # 配置域名
    server_name localhost;

    # 自定义路径
    # access_log /var/log/server/tengine/ahbr.log main;
    
    # 设置的以/api开始的请求都是服务端接口请求
    # 这里根据自己的配置进行调整
    location ~ ^/api {
        proxy_set_header Host $host;  
        proxy_pass_header User-Agent; 
        proxy_connect_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 6 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        proxy_redirect off;
    
        proxy_pass http://services;
    }
  
    # 静态文件根目录
    root /usr/local/ngine/html;

    # 前端页面访问
    location ~ ^/admin {

        try_files $uri $uri/ /admin/index.html;
    }
  
  
    # 静态文件
    location ~ ^/(uploads) {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        client_max_body_size 500m;
        client_body_buffer_size 3m;
        proxy_connect_timeout 90;

        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 6 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

        try_files $uri $uri/;
    }
}

 

posted @ 2021-02-03 11:31  AI程序  阅读(1051)  评论(0)    收藏  举报