воскресенье, 29 марта 2009 г.

Expires для OpenX баннеров (nginx)

Спасибо piranha, что помог с таким вот хаком:

location /images/ {
proxy_pass http://127.0.0.1:81/;
expires 90d;
internal;
}
if ($args ~* "contenttype=(jpeg|png|gif)$") {
rewrite ^/(.*) /images/$1 last;
}
Фишка в том, что nginx требует, чтобы директива Expires была привязана к location. Этот хак создает специальный "виртуальный" location, на который затем можно установить expires.

Таким образом можно кешировать медиафайлы (баннеры), которые раздает система OpenX.

вторник, 24 марта 2009 г.

nginx

Настроил на сервере nginx. Он обслуживает статику и работает как фронт-прокси перед Апачем и Python (WSGI cherrypy) серверами. Попробуйте его найти в списке процессов:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                           
30386 max 20 0 150m 65m 3476 S 0 3.4 4:06.20 paster
30362 max 20 0 149m 63m 3468 S 0 3.4 3:59.63 paster
30328 max 20 0 149m 63m 3480 S 0 3.3 4:09.31 paster
2272 mysql 20 0 111m 37m 6180 S 8 2.0 468:48.67 mysqld
29822 www-data 20 0 60728 28m 5448 S 1 1.5 5:37.59 apache2
29823 www-data 20 0 59748 28m 6168 S 0 1.5 5:40.39 apache2
29821 www-data 20 0 60056 27m 5604 S 10 1.5 5:48.05 apache2
29832 www-data 20 0 56912 24m 5540 S 1 1.3 5:58.88 apache2
30839 www-data 20 0 56336 24m 5632 S 0 1.3 5:38.87 apache2
29820 www-data 20 0 56048 24m 5540 S 2 1.3 5:41.11 apache2
29989 www-data 20 0 55556 23m 5636 S 6 1.2 5:34.76 apache2
29824 www-data 20 0 55272 23m 5744 S 0 1.2 5:51.84 apache2
2107 www-data 20 0 55736 23m 5084 S 0 1.2 4:27.81 apache2
12197 www-data 20 0 56320 23m 4272 S 8 1.2 2:10.17 apache2
29756 root 20 0 42772 12m 7172 S 0 0.7 0:01.03 apache2
...
...
21407 postfix 20 0 7928 3528 2748 S 0 0.2 0:00.01 smtpd
21697 max 20 0 11172 1956 1268 R 0 0.1 0:00.00 sshd
29829 www-data 20 0 5336 1904 768 S 0 0.1 0:18.29 nginx
29830 www-data 20 0 5336 1864 768 S 0 0.1 0:21.25 nginx
29828 www-data 20 0 5228 1828 768 S 0 0.1 0:16.01 nginx
29827 www-data 20 0 5232 1820 768 S 0 0.1 0:18.83 nginx


Чума. Плюс теперь у меня три идентичных пайтон-сервера работает, с балансировкой запросов между ними. Даунтайма теперь должно стать на порядок меньше.