рджреНрд░реБрдкрд╛рд▓ рдХреЛ рдЧрддрд┐ рджреЗрдирд╛: рдкреНрд░реЗрд╕рдлреНрд▓реЛ + рдиреЗрдЧреНрдиреЗрдХреНрд╕ + рд╡рд╛рд░реНрдирд┐рд╢

рдпрд╣ рд▓реЗрдЦ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрдВрднреАрд░ рддрдирд╛рд╡ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдФрд░ рдмрдбрд╝реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдбреНрд░реБрдкрд▓ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕реЗрдЯрдЕрдк рдХрд╛ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдиреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп - рд╕рд╛рдЗрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реБрдирдирд╛ рдФрд░ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛, рд╣рд░ рдХрд┐рд╕реА рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ RuNet рдореЗрдВ рдЕрднреА рднреА рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдбреНрд░реБрдкрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдореБрдлреНрдд рдФрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред



рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдордп рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде Drupal + Nginx рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:



server {

listen 62.xxx.xx.xx:80;

server_name mysite.com www.mysite.com;

rewrite>^(/manager/.*)$>https://$host$1>permanent;

location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {

proxy_pass 62.xxx.xx.xx:8080;

proxy_redirect mysite.com:8080/ /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

location / {

proxy_pass mysite.com:8080;

proxy_redirect mysite.com:8080/ /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {

root /home/pathto/drupal613;

access_log /home/httpd-logs/mysite.com.access.log;

error_page 404 = @fallback;

}

location @fallback {

proxy_pass 62.xxx.xx.xx:8080;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

}












рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рд╛рд░ рд╕рд░рд▓ рд╣реИ - рдЕрдкрд╛рдЪреЗ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рдХреЗрд╡рд▓ php рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдФрд░ рд╕рднреА рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ (рдЪрд┐рддреНрд░, рдлрд╛рдЗрд▓реЗрдВ) рдХреЛ Nginx рдореЗрдВ рдлреЗрдВрдХ рджреЗрдВред рдореЗрд░реА рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреЛрд░реНрдЯ 8080 рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 80 рдХреЗ рд▓рд┐рдП рдиреЗрдЧреНрдиреЗрдХреНрд╕ред рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ рдиреЗрдЧреНрдиреЗрдХреНрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдереИрддрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рдЦреБрдж рд╣реА рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдЕрдкрд╛рдЪреЗ рдХреЛ рд╕рдм рдХреБрдЫ рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░реНрд╡рд░ рдХреЛ рдСрдлрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред



Drupal рдкрд░ рд╕рд╛рдЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реЗрд╡рд╛ LoadImpact.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рджреА:



рдЫрд╡рд┐



рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдзрд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдмреБрд░рд╛ рд╣реИред рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрдВрдбрд▓ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛:



рдкреНрд░реЗрд╕рдлреНрд▓реЛ + рдиреЗрдЧреНрдиреЗрдХреНрд╕ + рд╡рд╛рд░реНрдирд┐рд╢





рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдПрдХ рдбреНрд░реБрдкрд▓ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди, рд╡рд┐рд╕реНрддрд╛рд░, рджрдХреНрд╖рддрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рд╕рдВрд╡рд░реНрджреНрдзрди рд╣реИред


рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг Drupal рдХреЗ рдЙрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд░рд╛рдмрд░ рдПрдкреАрдЖрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Pressflow 6 рд╕рднреА Drupal 6 рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред рдкреНрд░реЗрд╕рдлреНрд▓реЛ 6 рдореЗрдВ рдбреНрд░реБрдкрд▓ 7 рд╕реЗ рдПрдХ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рд╕рд┐рдВрдкрд▓реЗрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╕реАрдбреАрдПрди рд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рднреА рд╣реИред





рдпрд╣рд╛рдВ рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рджрд┐рдП рдЧрдП рд╣реИрдВ:

fourkitchens.com/pressflow-makes-drupal-scale/downloads

launchpad.net/pressflow/+download



рд╡рд╛рд░реНрдирд┐рд╢ рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИред


рд╡рд╛рд░реНрдирд┐рд╢ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ рдорд╛рдирдХреАрдХреГрдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред




рд╡рд╛рд░реНрдирд┐рд╢ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ:

www.varnish-cache.org/releases



рдЗрд╕ рдмрдВрдбрд▓ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рд╣рдо рдиреЕрдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдХреЛ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рд╣рдо рд╡рд╛рд░реНрдирд┐рд╢ + рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдЧрд░ рд╣рдореЗрдВ рдкреАрдПрдЪрдкреА рд╕реЗ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП рддреЛ рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдПред



рдЪрд░рдг 1: рдкреНрд░реЗрд╕рдлреНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдкреНрд░реЗрд╕рдлрд╝реНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Drupal рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ :)

fourkitchens.com/pressflow-makes-drupal-scale/installation



рдЪрд░рдг 2: рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


Mysite.com/admin/settings/performance рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдХреИрд╢рд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рдмрд╕ рдЗрддрдирд╛ рд╣реАред



рдЪрд░рдг 3: рд╡рд╛рд░реНрдирд┐рд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдпрджрд┐ рдЖрдк SSH рдФрд░ Linux рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рджреВрд░ рд╣реИрдВ, рддреЛ рд╡рд╛рд░реНрдирд┐рд╢ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рдиреЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЗрд╕ рдореИрдиреБрдЕрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ FreeBSD www.varnish-cache.org/installation/freebsd рдХреЗ рддрд╣рдд рдХрд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред



рдЪрд░рдг 4: рд╡рд╛рд░реНрдирд┐рд╢ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдпрд╣ рд╕рдВрдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдХрдард┐рди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:



1. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/rc.conf рдореЗрдВ рд╡рд╛рд░реНрдирд┐рд╢ рдбреЗрдореЛрди рдФрд░ рд╡рд╛рд░реНрдирд┐рд╢ рд▓реЙрдЧ рдХреЗ рд▓реЙрдиреНрдЪ рдХреЛ рдЬреЛрдбрд╝реЗрдВ:

varnishd_enable = "YES"

varnishlog_enable = "YES"

2. рдЕрдкрдиреЗ рд▓рд┐рдП рдбрд┐рдлрд╛рдЗрди рд╡рд╛рд░реНрдирд┐рд╢ рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реЗрдВ:

${varnishd_enable:="NO"}

${varnishd_pidfile:="/var/run/${name}.pid"}

${varnishd_listen:=":8081"}

${varnishd_admin:="localhost:8090"}

${varnishd_backend:="localhost:8080"}

${varnishd_config:="/usr/local/etc/varnish/default.vcl"}

${varnishd_storage:="file,/usr/local/varnish.cache,1G"}

${varnishd_hash:="classic,16383"}

${varnishd_user:="www"}

${varnishd_group:="www"}






рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрд░реЗ рд╕рд░реНрд╡рд░ рдкрд░, рдирдЧреНрдиреЗрдХреНрд╕ рдкреЛрд░реНрдЯ 80, рдФрд░ рдЕрдкрд╛рдЪреЗ 8080 рдкрд░ рд╕реБрдирддрд╛ рд╣реИред рд╣рдо рд╡рд╛рд░реНрдирд┐рд╢ рдХреЛ рдкреЛрд░реНрдЯ 8081 рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдЕрдкрд╛рдЪреЗ, рдЕрд░реНрдерд╛рдд рдкреЛрд░реНрдЯ 8080 рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред



рдпрд╣рд╛рдВ:

-varnishd_config - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд╛рд░реНрдирд┐рд╢ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде

-varnishd_storage - рдЖрдХрд╛рд░ рдФрд░ рдкрде рдХреИрд╢ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП



3. рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд░реНрдирд┐рд╢ рд╕реЗрдЯ рдХрд░реЗрдВ:

backend default {

.host = "127.0.0.1";

.port = "8080";

.connect_timeout = 600s;

.first_byte_timeout = 600s;

.between_bytes_timeout = 600s;

}



sub vcl_recv {

if (req.request != "GET" &&

req.request != "HEAD" &&

req.request != "PUT" &&

req.request != "POST" &&

req.request != "TRACE" &&

req.request != "OPTIONS" &&

req.request != "DELETE") {

/* Non-RFC2616 or CONNECT which is weird. */

return (pipe);

}



if (req.request != "GET" && req.request != "HEAD") {

/* We only deal with GET and HEAD by default */

return (pass);

}



// Remove has_js and Google Analytics cookies.

set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(__[az]+)=[^;]*", "");



// To users: if you have additional cookies being set by your system (eg

// from a javascript analytics file or similar) you will need to add VCL

// at this point to strip these cookies from the req object, otherwise

// Varnish will not cache the response. This is safe for cookies that your

// backed (Drupal) doesn't process.

//

// Again, the common example is an analytics or other Javascript add-on.

// You should do this here, before the other cookie stuff, or by adding

// to the regular-expression above.



// Remove a ";" prefix, if present.

set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");

// Remove empty cookies.

if (req.http.Cookie ~ "^\s*$") {

unset req.http.Cookie;

}



if (req.http.Authorization || req.http.Cookie) {

/* Not cacheable by default */

return (pass);

}



// Skip the Varnish cache for install, update, and cron

if (req.url ~ "install\.php|update\.php|cron\.php") {

return (pass);

}



// Normalize the Accept-Encoding header

// as per: varnish-cache.org/wiki/FAQ/Compression

if (req.http.Accept-Encoding) {

if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {

# No point in compressing these

remove req.http.Accept-Encoding;

}

elsif (req.http.Accept-Encoding ~ "gzip") {

set req.http.Accept-Encoding = "gzip";

}

else {

# Unknown or deflate algorithm

remove req.http.Accept-Encoding;

}

}



// Let's have a little grace

set req.grace = 30s;



return (lookup);

}



sub vcl_hash {

if (req.http.Cookie) {

set req.hash += req.http.Cookie;

}

}



// Strip any cookies before an image/js/css is inserted into cache.

sub vcl_fetch {

if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {

// This is for Varnish 2.0; replace obj with beresp if you're running

// Varnish 2.1 or later.

unset beresp.http.set-cookie;

}

}



sub vcl_error {

// Let's deliver a friendlier error page.

// You can customize this as you wish.

set obj.http.Content-Type = "text/html; charset=utf-8";

synthetic {"

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

"} obj.status " " obj.response {"

< type="text/css">

#page {width: 400px; padding: 10px; margin: 20px auto; border: 1px solid black; background-color: #FFF;}

p {margin-left:20px;}

body {background-color: #DDD; margin: auto;}

</>



<1>Page Could Not Be Loaded</1>

We're very sorry, but the page could not be loaded properly. This should be fixed very soon, and we apologize for any inconvenience.

< /> <4>Debug Info:</4>

<>

Status: "} obj.status {"

Response: "} obj.response {"

XID: "} req.xid {"

</>

<>< href="http://www.varnish-cache.org/">Varnish</></>







"};

return (deliver);

}






3. рд╡рд╛рд░реНрдирд┐рд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ngnix рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:

server {

listen 62.xxx.xx.xx:80;

server_name mysite.com www.mysite.com;

rewrite ^(/manager/.*)$>https://$host$1>permanent;

rewrite>^(/manager/.*)$>https://$host$1>permanent;

location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {

proxy_pass 62.xxx.xx.xx:8080;

proxy_redirect mysite.com:8080/ /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

location / {

proxy_pass 62.xxx.xx.xx:8081;

proxy_redirect mysite.com:8081/ /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {

root /home/cross/data/www/mysite.com;

access_log /home/httpd-logs/mysite.com.access.log;

error_page 404 = @fallback;

}

location @fallback {

proxy_pass 62.xxx.xx.xx:8080;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

}

}






рдЪрд░рдг 5: рд╕рд░реНрд╡рд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛



рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд░реНрдирд┐рд╢ рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдЯрд░реНрдорд┐рдирд▓ рдкрд░ 'рд╢реАрд░реНрд╖' рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╡рд╛рд░реНрдирд┐рд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд╛рд░реНрдирд┐рд╢ + рдкреНрд░реЗрд╕рдлреНрд▓реЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - SSH рдХреЗ рддрд╣рдд рд╡рд╛рд░реНрдирд┐рд╢рд▓реЙрдЧ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рдФрд░ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ mysite.com рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рд╡рд╛рд░реНрдирд┐рд╢рд▓реЙрдЧ рддрдм HTTP рд╣реЗрдбрд░ рджрд┐рдЦрд╛рдПрдЧрд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдЗрди рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдПрдХ рд▓реЛрдбрд┐рдореНрдкреИрдХреНрдЯ рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдорд┐рд▓рд╛:



рдЫрд╡рд┐



рдЕрдм рд╕реНрдерд┐рддрд┐ рдХрд╛рдлреА рдмреЗрд╣рддрд░ рд╣реИ, рд╕рд░реНрд╡рд░ рд╕реЗ рджреЗрд░реА рд╕реНрдерд┐рд░ рд╣реИ рдФрд░ рдЯреНрд░реИрдлрд┐рдХ рдмрдврд╝рдиреЗ рдкрд░ рд╕рд░реНрд╡рд░ рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред



рдпреЗ рд╕рд░рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ Drupal рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ Pressflow + Nginx + рд╡рд╛рд░реНрдирд┐рд╢ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗред



рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдирдЧреАрдирдХреНрд╕ рдореЗрдВ рдбреНрд░реБрдкрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ - wiki.nginx.org/Drupal ред



рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ:






All Articles