Ne ben bir web sitesi için yaptık olduğunu:
- Apache önünde bir ters proxy olarak nginx kurmak
- configure it so :
- PHP sayfaları için istekleri (i.e. dynamic content) Apache gönderilir
- Statik dosyalara İstekler (CSS, JS, ...) doğrudan nginx tarafından sunulmaktadır.
Bu iki etki kurmak zorunda kalmadan: hepsi aynı etki alanında.
Basically, what I've done is :
- önbelleğe alma ile, gzip sıkıştırma olmadan, nginx görüntüleri hizmet
- önbelleğe alma ile, gzip sıkıştırma ile nginx gelen js / css (yani metin dosyaları) hizmet
- bazı diğer uzantıları önbelleğe alma olmadan (pdf, exeutables, ...) form nginx, sıkıştırma olmadan, hizmet
- Apache diğer istekleri geçmek
Here's how my nginx's configuration file looks like :
server {
listen 80;
server_name MY_DOMAIN_NAME;
access_log /var/log/nginx/MY_DOMAIN_NAME.access.log;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css text/xml application/xml application/xml+rss application/xml+atom text/javascript application/x-javascript application/javascript;
location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ {
root /home/www/MY_DOMAIN_NAME;
#access_log off;
gzip off;
expires 1d;
}
location ~* ^.+\.(css|js)$ {
root /home/www/MY_DOMAIN_NAME;
#access_log off;
expires 1d;
}
location ~* ^.+\.(pdf|gz|bz2|exe|rar|zip|7z)$ {
root /home/www/MY_DOMAIN_NAME;
gzip off;
}
location / {
proxy_pass http://MY_DOMAIN_NAME:8080;
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_max_temp_file_size 0;
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;
}
}
Now, why do such a thing ?
Peki, nginx gerekiyordu:
- Daha az bellek gerekir
- Daha hızlı olun
- Daha fazla bağlantı işlemek mümkün
Yani, ben Apache koymak oluyor yükünü azaltmak, trafik biraz bir web sitesinde yardımcı olabilir varsayalım.