nginx jako reverse proxy dla apache

Konfiguracja serwerów, usług, itp.
fighter
Posty: 1
Rejestracja: 30 czerwca 2009, 08:26

nginx jako reverse proxy dla apache

Post autor: fighter »

Witam.

Potrzebuje postawić nginxa jako reverse proxy dla apache na serwerze produkcyjnym, który ostatnio się nie wyrabia - obciążenie (ang. load) dochodzi do 1500, 30 to norma i czas otwierania stron jest bardzo długi. Niestety sprzęt jest wysłużony, a póki co musi dociągnąć, nim będzie nowy serwer.

Chciałbym aby nginx przejął serwowanie wszystkich statycznych plików jak grafika, js, css itp. a php i mysql żeby zostało na apache.

Ponadto w celach testowych apache ma być na porcie 80, a nginx na 8080 - po pomyślnych testach będzie to zamienione.

Mam taki config:

Kod: Zaznacz cały

user  www-data www-data;
worker_processes  2;

error_log  logs/error.log debug;

pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

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

    log_format  main  '$remote_addr - $remote_user [$time_local] $status '
                      '"$request" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;

    server {
        listen       8080;
        server_name  some-server.com [url]www.server-name.com;[/url]

        access_log  logs/host.access.log  main;

        # Main location
        location / {
            proxy_pass         [url]http://127.0.0.1:80/;[/url]
            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      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;

            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }

        # Static files location
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
            root   /spool/www/members_ng;
        }

    }
}
Na serwerze jest wiele domen, ale statyczne elementy w 95% idą z jednej. Nie chce mi to ruszyć, może ktoś przerabiał coś takiego.

Jak się łącze z serwerem na porcie 8080 to coś tam jest, ale nie dostaję żadnej strony i połączenie wisi, jak zatrzymam nginxa to się zrywa.

Debian 4.1.1-21 na jajku 2.6.24.2
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

ODPOWIEDZ