> Linux服务器 > nginx >

nginx的upstream转发功能的使用

server {
    listen       80;
    server_name  127.0.0.1;
    root          /data/www/b/;
    index index.php index.html;
    include /etc/nginx/default.d/*.conf;


    ##匹配规则
    location ~ dmp{

    ssi on;
    ssi_silent_errors  off;
    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_connect_timeout   30;
    proxy_send_timeout      30;
    proxy_read_timeout      60;
    proxy_buffering off;

    client_max_body_size 50m;
    client_body_buffer_size 256k;
    proxy_buffer_size 256k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
    proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
    proxy_max_temp_file_size 128m;

    proxy_pass http://dmp;
    break;

    }




    rewrite ^/$ /?user=adtank last;
    location / {

        rewrite ^/$ /index.php last;
        rewrite ^/(?!index\.php|index\.html|record|images|static|chinaunicom|public|robots\.txt)(.*)$ /index.php/$1 last;
    }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
    location ~ \.php {
    fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
        }
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;
        if ($request_filename ~* (.*)\.php) {
            set $php_url $1;
        }
        if (!-e $php_url.php) {
            return 403;
        }
        fastcgi_param GATEWAY_INTERFACE CGI/1.1;
        fastcgi_param SERVER_SOFTWARE nginx;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_param REQUEST_METHOD $request_method;
        fastcgi_param CONTENT_TYPE $content_type;
        fastcgi_param CONTENT_LENGTH $content_length;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_param REQUEST_URI $request_uri;
        fastcgi_param DOCUMENT_URI $document_uri;
        fastcgi_param DOCUMENT_ROOT $document_root;
        fastcgi_param SERVER_PROTOCOL $server_protocol;
        fastcgi_param REMOTE_ADDR $remote_addr;
        fastcgi_param REMOTE_PORT $remote_port;
        fastcgi_param SERVER_ADDR $server_addr;
        fastcgi_param SERVER_PORT $server_port;
        fastcgi_param SERVER_NAME $server_name;
        # PHP only, required if PHP was built with --enable-force-cgi-redirect
        #fastcgi_param REDIRECT_STATUS 200;
    }
}
### 转发的ip地址
upstream dmp{
ip_hash;
server 10.13.2.2:80;
}


(责任编辑:IT)