Re: Настройка nginx под image hosting
Slava Kokorin
slava.kokorin на gmail.com
Чт Апр 15 16:06:10 MSD 2010
Если на apache крутится только php, и у вас не виртальный хостинг незнакомых
проектов, то можно только php ему и перенаправлять, отдавая всё остальное с
диска. Почему я оговорился про виртуальный хостинг - в .htaccess, если он
включен и не подконтролен вам, пользователи могут делать deny, rewrite, и
т.п.
Конфиг примерно такой:
location / {
index index.html;
root /var/www/virtual/domain.com;
}
location ~* \.php$ {
proxy_pass http://domain.com:8080/;
.....
}
14 апреля 2010 г. 20:28 пользователь grigory <nginx-forum на nginx.us> написал:
> Не хочу засорять другие темы, поэтому продолжу задавать вопросы здесь.
> Вообще, было бы, конечно, очень круто, если бы с кем-нибудь можно было
> пообщаться в ICQ, а то вопросов много, а знаний мало. :-) Я бы даже WMZ на
> пиво скинул бы за помощь. :-)
>
> Вопрос такой:
> Я понял, почему меня немного в ступор ввёл один из предыдущих постов, когда
> предлагалось поставить 2 nginx на разные IP, чтобы они не конкурировали
> между за собой за жёсткий диск. Дело в том, что nginx у меня сейчас работает
> в связке с Apache, и всё, что связано с сайтом, крутится на нём: php, html и
> т.п. А nginx фактически только отдаёт картинки + статику сайта (там всего
> меньше десятка картинок мелких + css + js).
>
> Чтобы снизить в своё время нагрузку, я (не знаю уж, был ли в этом смысл)
> сделал index.php > index.html, чтобы сервер отдавал обычную .html-ку без
> лишних телодвижений с php-кодом внутри, т.к. он всегда один и тот же. А
> теперь я подумал, что неплохо было бы этот главный .html-файл отдавать
> nginx'у в кэш, но конфиг у меня устроен так:
>
> =================================
> location / {
> proxy_pass http://domain.com: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;
> ... (тут опущен кусок конфига)
> root /var/www/virtual/domain.com;
> }
>
> location ~*
> ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$
> {
> access_log off;
> log_not_found off;
> expires 365d;
>
> root /var/www/virtual/domain.com;
>
> error_page 404 = @gifredir;
> }
> =================================
>
> Конфиг я этот, в своё время писал, будучи вообще не знакомым в nginx, да и
> сервер сам кое-как настроил. :-)
> Собственно, вопрос: как мне теперь отдавать этот index.html nginx'у, чтобы
> он кешировался, но при этом nginx также понимал, что нужно кешировать и
> domain.com/ , т.к. он открывает index.html?
>
> Я добавил конструкцию:
> location ~* ^.+\.html$ {
> open_file_cache max=100 inactive=30s;
> open_file_cache_min_uses 2;
> }
>
> Но не уверен: а) работает ли она так, как надо; б) кеширует ли она; в)
> пробовал try_files, но так и не разобрался, как его реализовать в данном
> случае; г) кешируют ли данная конструкция прямой запрос domain.com без
> index.html в URI.
>
> Вопрос, может, ньюба, но что поделать. :-)
>
> P.S.: Еще один: а как сделать конструкцию open_file_cache, чтобы
> кешировались ТОЛЬКО ерроры?
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,72046,74891#msg-74891
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
--
Regards,
Slava
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100415/ebb5c5c6/attachment.html>
Подробная информация о списке рассылки nginx-ru