Открыть список
Как стать автором
Обновить

Комментарии 42

Зачем апач биндить на внешний интерфейс?
127.0.0.1: порт-по-вкусу. с него достаточно.

Апач лучше вешать на именованный локэйшн,
в который потом проще будет завернуть и ошибки статики
к примеру так.

error_page 404 405 504 502 = @fallback;

Добавлю, что
proxy_pass http://ВАШ_ДОМЕН:8080/;
тоже не айс, лучше тоже на localhost. А по возможности — на unix.socket
Заворачивание ошибок 404 на апач — это правильно для большинства типовых сайтов.

Например, для нас, когда мы конфигурируем сервер, очень важно, чтобы nginx в конфиге должен иметь fallback на статические изображения(jpg, png, gif) и файлы — чтобы запрос шёл к апачу при отсутствии
запрашиваемого отображения.

Почему это важно:
1 вариант: Бывает ситуации, когда разработчик отдает некоторые файлы с помощью apache. Для многих [сделанных давно] проектов это особенно актуально
2 вариант (часто используемый нами): мы генерируем картинки нужного размера из исходных картинок (например, превьюшки) при первом обращении по этому адресу и потом кэшируем на диск. Вот при первом обращении срабатывает апач, а при последующих — уже nginx отдает файл с диска.

Это однозначно полезная опция.
На просторах интернета таких статей много, и фактически не нужно прикладывать никаких сил что бы их найти.
И вообще в большинстве случаев хватает nginx'а c php-fpm, без всяких там apach'ей.
Что мне делать с php-frm если я на питоне пишу? :)
В статье ставится PHP. А комментарии, обычно, идут в контексте статьи.
Он в статье вообще непонятно зачем ставится)
Факт в том, что ставится =)
Факт в том что ставится консольный пхп :)
И то верно. Не приметил даже, что там только cli устанавливается.
а зачем для питона апач?)
mod_python использую
хотя надо это прекращать)
uwsgi сделал мои волосы мягкими и шелковистыми.
Вообще не понимаю зачем для питона апач.
поддерживаю
Вроде это не раз уже было разжевано на Хабре.
Да и ко всему прочему, вы сами то проверяли что ваш сервер после этого мануала заработал?
Набираем в гугле «nginx reverse proxy» и видим пару десятков статей схожего содержания, причем некоторые имеют более полное описание.

Стандартный вопрос, что если я захочу держать на сервере, на-пример .pdf файлы? а .djvu? а .doc? а .*?

Для чего нужны, на пример, эти настройки:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

Хоть бы постарались и подробно описали конфиг, написали бы возможные варианты и как что и когда лучше настраивать.
Если у вас непредсказуемые типы статичных файлов будут, то можно для них отдельный поддомен выделить. Еще можно проверять существует ли файл (в папке для статики), иначе перекидывать запрос апачу.
Ну, лично у себя я и проверяю на наличие, но автор тупо скопипастил статью «из гугла» и даже не подумал разобраться в этом…
Вместо
/etc/init.d/apache2 restart
/etc/init.d/nginx restart

В Ubuntu принято писать
service apache2 restart
service nginx restart
Еще во всех командах нужен sudo, либо один раз sudo -s, если мне память не изменяет.
Тоже хотел указать, но команды могут выполняться уже из под рута
Не только в Убунте кстати (Fedora 14).
А в чем разница? Я, например, не задумывался никогда.
Через полный путь к init-скрипту работает фактически в любой unix-подобной ОС, не нужно помнить, где и как «принято».
Тоже никогда не задумывался об этом…
1) Надо рестартануть апач
2) /etc/init.d/apache2 restart
3) Профит

а дело в нюансах. например не передаются переменные окружения в скрипт
service runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /.
Да, это я нагуглил уже. А еще service поддерживает не только скрипты system V, но и upstart.
Кстати, для Apache тогда бы не помешало поставить mod_rpaf и настроить его.
это просто необходимо сделать, причем, нужно брать версию 0.6, лучше даже с офсайта и вручную скомпилировать, приведу последовательность действий для дебиана, беру кусок из нашей внутренней документации:

… Затем нам необходимо решить проблему с REMOTE_ADDR. Решается она установкой модуля rpaf:

apt-get install libapache2-mod-rpaf

В файле /etc/apache2/mods-enabled/rpaf.conf добавляем следующий параметр:

RPAFheader X-Real-IP

Скорее всего, пакет libapache2-mod-rpaf устаревший, а последний параметр поддерживается только в версии rpaf начиная с 0.6, его можно взять отсюда: stderr.net/apache/rpaf/download/ Кроме того, нам надо скачать дополнительный пакет для апача и потом можно будет собрать модуль:

apt-get install apache2-prefork-dev
wget stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
apxs2 -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

Теперь мы создали еще один модуль в составе апача, надо ему указать, что мы работаем именно с ним. Для этого редактируем файл /etc/apache2/mods-enabled/rpaf.load

LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf-2.0.so

А в файле /etc/apache2/mods-enabled/rpaf.conf изменяем:

парсер съел последнюю строчку:
<IfModule mod_rpaf-2.0.c>
Всегда было интересно, для чего в этой схеме Apache?
есть fastcgi для php, и php-fpm и еще куча разного.
например для mod_rewrite и .htaccess, ибо некоторые CMS умеют писать htaccess, но при этом не имеют ни малейшего понятия как написать то же самое для nginx
теперь и сам задумался, для чего это всё, если есть алгоритмы автоматического преобразования директив mod_rewrite в формат понятный nginx.
Ах это…
Видел, видел. По большей части генерирует хлам. По крайней мере, с полгода назад так было.
Самое забавное — на момент написания комментария топик имеет +2 голоса, но при этом 76 человек добавили в избранное. Значит все-таки актуально…
На хабре много разного народа, может кого и в гугле забанили, кто знает…
Судя по всему, те, кто добавил в избранное, правом голоса не обладают, серые, околонулевые читатели.
Вы сейчас обо мне говорите. Я добавил. Не уверен, что пригодится, пока индейца хватает. Но зато если надо будет — я смогу быстро найти. Да, в гугле может быть и быстрее, да, в гугле может быть полнее, но для моих скромных потребностей мне этой статьи хватит с головой, остальное, если понадобится, найду…
Нет, никого конкретного я не имел в виду. Не думаю, что стоит по этому мануалу делать. Сходите лучше за офф. документацией, она на русском и с понятными примерами.
Также рекомендую присоединиться к рассылке (на сайте Сысоева написано, как), там сам Игорь и другие опытные товарищи помогают в любых ситуациях, даже очень нетривиальных.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.