据说是OSChina的官方Nginx配置代码

发布时间:2020-08-07编辑:脚本学堂
OSChina的Nginx配置代码

OSChina 的 nginx 配置,包括三个文件 nginx.conf, proxy.conf, gzip.conf。

1.nginx.conf

复制代码 代码如下:

user  nobody;
worker_processes  2;

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

#pid   logs/nginx.pid;

events {
    use epoll;
    worker_connections  4096;
}

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

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;
    limit_zone   one  $binary_remote_addr  10m;

    include gzip.conf;

    server {
        listen       80;
        server_name  localhost;

        location / {
            #rewrite (.*) http://www.oschina.net$1 permanent;
     deny all;
        }

        location ~ ^/NginxStatus {
            stub_status on;
            access_log off;
            allow   127.0.0.1;
            allow   219.136.242.37;
            allow   192.168.2.0/24;
            deny    all;
        }
}

 server {
 listen 80;
 server_name www.oschina.net m.oschina.net my.oschina.net;

        log_format  oschina_log
        '$remote_addr - $remote_user [$time_local] $request '
        '"$status" $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  logs/oschina.log;

 location ~ ^/NginxStatus {
            stub_status on;
            access_log off;
            auth_basic              "valid-user";
            auth_basic_user_file  /opt/ngx/conf/oschina_pw;
        }

 location ~ ^/mrtg {
            auth_basic          "valid-user";
            auth_basic_user_file /opt/ngx/conf/oschina_pw;
            access_log off;
            root /opt/mrtg;
        }

        location ~ ^/awstats/ {
            root /data/oschina/webapp;
            access_log off;
            error_log off;
            auth_basic              "valid-user";
            auth_basic_user_file  /opt/ngx/conf/oschina_pw;
        }

 location ~ ^/(WEB-INF)/ {
            deny all;
        }

 location ~ ^/uploads/ {
            root /data/oschina/webapp;
            expires 24h;
     valid_referers none blocked *.google.com *.qq.com *.oschina.net *.csdn.net *.gzv8.com;
     if ($invalid_referer){
  rewrite ^/ http://www.oschina.net/img/logo.gif;
     }
        }

        location ~ .(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf)$ {
            root /data/oschina/webapp;
     access_log off;
            expires 24h;
        }

 location / {
     proxy_pass http://localhost:9081;
     include proxy.conf;
 }

 error_page 502 503 /502.html;
        error_page 404 /404.html;
 error_page 403 /403.html;
    }
}

2.proxy.conf
 

复制代码 代码如下:
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;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
3.gzip.conf
复制代码 代码如下:
gzip     on;
gzip_min_length   1000;
gzip_types   text/plain text/css application/x-javascript;