RSS
 

Быстрый переход на nginx

13 мая

Пришлось в аварийном порядке переводить один сайт на nginx, так как нагрузка была ой-ой-ой (LA под 60 на хостинг сервере). Попытка подтюнить апач не привела к существенным результатам, поэтому пришлось быстро делать pkg_add -r nginx (компилировать не решился – долго бы это длилось). Апач банально был перевешен на другой порт – в директиве Listen меняем 80 на, допустим, 8000.

После этого был сконфигурирован nginx банальным способом – картинки отдаем локально, остальное – на бэкэнд:
[source:xml]
user www;
worker_processes 1;
events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 80;

location / {
proxy_pass http://127.0.0.1:8000;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /home/www/nginx/temp;
}

location ~* /.+\.(jpg|jpeg|gif|png|swf)$ {
root /home/www/data;
expires 30d;
}

}
[/source]

вот и все.

 

Tags:

Leave a Reply

You must be logged in to post a comment.

  1. Барон Бела

    мая 13, 2008 at 20:06

    Не знаю, что для твоей ситуации долго, но я совсем недавно собирал nginx из портов – быстро, по крайней мере, по сравнению с пересборкой php. Какой выигрыш получился? Какие побочные эффекты замечены?

     
  2. Дмитрий

    мая 13, 2008 at 20:42

    при сборкой из портов можно make config и включай/выключай специфичные для конкретного случая модули. а в packages – собрано по умолчанию. В моем случае это было быстрее – а так на дико перегруженной машине еще и gcc запускать было лишним :)

     
  3. nucleo

    декабря 2, 2008 at 00:22

    Здравствуйте, Дмитрий.

    Решил попробовать nginx 0.6.32.

    Если в конфиге нет этих строк:

    location ~* /.+\.(jpg|jpeg|gif|png|swf)$ {
    root /home/www/data;
    expires 30d;
    }

    то он работает нормально, а когда их добавляю не отображаются картинки.

    Вы с таким не сталкивались?

     
  4. Дмитрий

    декабря 3, 2008 at 11:31

    а root соответствует расположению сайта на сервере ?

     
  5. nucleo

    декабря 3, 2008 at 16:05

    Сайт на другом сервере.
    Для root создал каталог /var/lib/nginx/data и указал его в конфиге.
    В логе написано:
    [error] 14975#0: *33 open() “/var/lib/nginx/data/images/rss20.gif” failed (2: No such file or directory)
    Получается, что нужно создавать аналогичные каталоги и насервере с nginx?

     
  6. Дмитрий

    декабря 3, 2008 at 17:15

    в этом случае – или копировать (например, с помощью rsync), или настроить кэширование на винчестере сервера с nginx. Почитать об этом можно тут, см. о директиве proxy_store.

     
  7. Identity theft insurance not always worth the cost ? Maine Business … | Live Your Life Azlyrics

    января 26, 2012 at 21:21

    [...] rum diary addams family in time statue of liberty gold rush alaska gold rush alaska the addams [...]