Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: непонятки с конфигурацией nginx...
- To: nginx-ru@xxxxxxxxx
- Subject: Re: непонятки с конфигурацией nginx...
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Sun, 7 Jun 2009 14:08:18 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=X4dkh3ayywJ+vsyjCdumXM6F0p/j3JcR8fVtLgopFiY=; b=VXYWFHC7ecs+TNteC+KirYCRtjB7T/wfZprkKzI8d1dhGOBvBTwf4n7cnxj9w47r/i bvNEjPLcPrA8qRB1tiP+CafeNb3xg8Q+Oi9VxDoglW2+CJxHlz7/xqxpvlsLK6AwJgDg aU9gd1Baeo7wQbzzQOksbTXMcV1tdVzqkIypk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=XiJj9eT38+5XWwoblBghKnFW7KbkF1tFbbYdrY+KifNgHZ8vwJfPt46yfCQZ52aqQ8 H7JSYoaSEPtSzgzRXm/7YXDn1XySYN5iNVhOdXLkqhyc0+z7ZufV80fu7hx1iMwbZsCE np6KQYnPHFGi8BZ/XW68ncHuV/lVfFeYm11A0=
- In-reply-to: <20090607081101.2bf26c20@winpuf>
- References: <20090607081101.2bf26c20@winpuf>
2009/6/7 azlk <azlk@xxxxxxxxxxxx>:
> Сервер Ubuntu 8.04.2, я собрал nginx 0.7.59 с такими опциями:
>
> configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log --with-http_ssl_module
> --with-http_addition_module --with-http_sub_module
> --with-http_gzip_static_module --with-http_perl_module --with-pcre
> --with-md5-asm --with-sha1-asm
> --with-sha1=/usr/lib/perl5/auto/Digest/SHA1/SHA1.so --with-poll_module
> --http-log-path=/var/log/nginx/nginx.access.log --pid-path=/var/run/nginx.pid
> --with-cpu-opt=opteron
>
> Все html (или php) файлы хочу положить в /var/www, для этого в настройках
> сайтов прописал вот это:
>
> server {
> listen 80;
> server_name траляля.info;
> access_log /var/log/nginx/default.access.log;
> location /var/www/nginx-default {
> root /var/www/nginx-default;
> index index.php index.html;
> }
>
> другой сайт (вернее, другая страница на том же сайте):
> server {
> listen 80;
> server_name www.траляля.info;
> access_log /var/log/nginx/dao.access.log;
> location /var/www/dao {
> root /var/www/dao/;
> index index.php index.html;
> }
>
> и наконец, пытался rtorrent пустить через https:
>
> server {
> listen 443;
> keepalive_timeout 75;
> access_log /var/log/nginx/rtorrent.access.log;
> location = /var/www/rt {
> root /var/www/rt;
> index index.html;
> }
> (тут лежат файлы веб-морды для rtorrent)
>
> Как только не пытался обращаться к этим страницам: траляля.info,
> www.траляля.info, траляля.info/rt, траляля.info/dao - в ответ я получаю то
> одно, то другое - то 403 Forbidden, то (https) "Ваш web сервер не
> поддерживает PHP."
> СтоИт PHP 5.2.4-2ubuntu5.5 with Suhosin-Patch 0.9.6.2 (cgi-fcgi)? fast-cgi из
> пакета lighttpd.
> Случайно (!) в логе нашел, что, оказывается, не находится страница,
> которую веб-сервер ищет по адресу /usr/html. У меня такого каталога
> даже нет! Создал каталог, положил туда страницы - начало показывать хоть
> что-то...
> У меня несколько вопросов:
> 1.Возможно, для всех вас это всё очевидно, а для меня, который первый
> раз в жизни столкнулся с настройкой веб-сервера nginx, это совсем не
> так.
> Например: где можно хоть что-то узнать о таких параметрах
> конфигурации nginx, как
> --with-http_addition_module
> --with-http_sub_module
> --with-poll_module
> Что это за модули вообще?? Про них нигде ничего не написано - как же
> можно новичку понять, нужны они или нет, если я про них даже прочитать
> не могу нигде???..
http://sysoev.ru/nginx/docs/http/ngx_http_addition_module.html
http://sysoev.ru/nginx/docs/http/ngx_http_sub_module.html
http://sysoev.ru/nginx/docs/events.html
select, poll, epoll, kqueue это низкоуровневые методы получения
асинхронных событий от ОС.
Вам не нужно об этом беспокоиться, configure автоматически найдёт доступные.
http://sysoev.ru/nginx/docs/install.html
Здесь вообще все опции configure описаны. Что же вы нагло врёте, мол,
нигде ничего не написано? "Не написано" и "я не нашёл" - разные вещи.
Если б вы написали в рассылку простую просьбу разъяснить опции
configure, сохранили бы честь и лицо. А сейчас перечитайте своё
сообщение. Стыд.
Как понять новичку - отличное правило - если ты не знаешь что это,
значит это тебе не нужно. Или, по крайней мере, уж точно тебе не нужно
это трогать.
> 2. Откуда и зачем мне по умолчанию впихнули путь /usr/html? Я нигде
> этого не просил, мне ТАК не удобно, а на параметры в конфигурации сайта
> он чихает, как будто их нет (root /var/www/nginx-default). Нет, я,
> конечно, погуглил, посмотрел Makefile и уже понял, что можно взять и
> тупо статически прописать это там. Но разве это нормально и/или удобно?
> В следующий раз, мне надо снова будет всё то же самое руками
> прописывать?... Почему при ./configure .....[options] я не могу задать
> путь корня www? Сколько я собирал программ, PREFIX относится к
> бинарнику, библиотекам и пр., а настройки работы самой программы должны
> находиться в конфигурационном файле и она (программа) на них как-то
> должна реагировать, разве не так? У меня nginx не реагирует :-(
root можно задать в конфиге. Почему вас волнует сборка в этом вопросе?
В любой программе (в том числе в понятных вам апаче и лайти) есть
десятки-сотни настроек, которые имеют какое-то значение по-умолчанию.
Вот root имеет значение по-умолчанию /usr/html или какой-то еще. Это
не важно. Вместо того, чтобы тратить своё время на жалобы о дефолтных
настройках, просто напишите в конфиге root какой вам надо.
> 3. Даже когда nginx начал что-то показывать - я не могу понять его
> логику: он то показывает файлы из /usr/html, то вдруг начинает казать
> из /var/www/.. Наверное, должно пройти несколько лет, чтобы обычный
> человек, не искушённый в настройках nginx, смог все-таки заставить её
> работать так, как ему надо?....
Вы первый за несколько лет, у кого такие большие проблемы с настройкой
nginx. Задумайтесь над этим.
> Создаётся такое ощущение, что вокруг nginx существует какой-то заговор:
> все всё знают и поэтому об этом не говорят :-0 Может быть я чего-то не
> знаю? Сайт Игоря Сысоева внимательно читал, а также кучу конференций по
> этому поводу. У меня, простите, создалось впечатление, что у nginx
> какая-то невнятная логика работы (я сейчас говорю только про
> конфигурацию и размещение фалов). Почему у такой замечательной
> программы, которая уже тащит около 4% сайтов, как пишут, нет НОРМАЛЬНОЙ
> документации? Это, что, такая непосильная работа??? Документации, взяв
> в руки которую, любой новичок сможет собрать демон, настроить и
> запустить его, при этом ПОНИМАЯ, что происходит!.... Там чуть ли не по
> каждому пункту вопросы, на которые нет ответов...
В документации вопросы?
Задавайте свои конкретные вопросы здесь в рассылке. Люди охотно
отвечают и помогают решать проблемы.
> Про https/SSL я даже
> боюсь спрашивать - все тут обсуждают такие дебри, в которые я даже еще
> не лез, а мне хотелось попробовать запустить для начала хотя бы
> rtorrent, чтобы не весь мир управлял им, а только несколько человек.
> Так я не могу найти НИГДЕ толкового описания - КАК сделать так, чтобы
> nginx пускал меня по https, спрашивая логин-пароль.... Apache, lighhtpd
> - пожалуйста, а nginx - тишина...
Возможно, в документации nginx не хватает нескольких примеров
достижения простых целей. Возможно, это потому что всё понятно.
Хотя, вот, есть примеры. Согласен, что примеров мало.
http://sysoev.ru/nginx/docs/virtual_hosts.html
http://sysoev.ru/nginx/docs/example.html
> Простите, уважаемые гуру веб-серверов, интернет-контента и прочая и
> прочая, если я задел вас за живое, но вынужден констатировать, что
> существующая документация на nginx абсолютно невнятна, в ней местами
> отсутствуют даже намёки на многие неизвестные новичкам вещи, и потому
> непригодна для тех, кто первый раз берётся за настройку веб-серверов, в
> частности nginx. Чтобы не заниматься просто критикой, я предлагаю свою
> помощь в создании внятной и взаимоувязанной документации ХОТЯ БЫ на
> основные моменты, чтобы каждый желающий мог начать работать с программой
> (конфигурирование, установка, каталоги для размещения фалов, связка с
> cgi). Я очень плохо (пока) разбираюсь в основах работы веб-серверов,
> раздачи контента через интернет, не знаю regexp-ы, и т.д. - но
> некоторые познания в линуксе у меня все-таки уже есть, и самое главное,
> я могу писать понятные и разжеванные документы, так, чтобы каждый пень,
> типа меня, смог их понять и применить. Я думаю, что отсутствие толковой
> (а порой - хоть какой-либо) документации и сдерживает популярность
> nginx. Ведь именно об этом пишут на всех форумах, особенно,
> англоязычных.
>
>
Документация nginx не ставит целью обучение начинающих сисадминов.
Вообще, у меня сложилось впечатление, что у Игоря нет цели сделать
nginx единственным вебсервером планеты. Кому-то непонятно, это
сдерживает популярность. И что?
Документация nginx выполнена в стиле reference, то есть описывает
каждый конфигурационный параметр в отдельности. И с этой задачей
документация справляется полностью. Да, это пол дела - знать
директивы, нужно уметь ими пользоваться. Как-то так сложилось, что
людям удобно спросить в рассылке что-то вроде, как мне раздавать файлы
из /var/www/dao на хосте www.траляля.info? Вам ответят:
server {
listen 80;
server_name www.траляля.info;
root /var/www/dao;
index index.html;
}
А ваша конфигурация
> server {
> listen 80;
> server_name траляля.info;
> access_log /var/log/nginx/default.access.log;
> location /var/www/nginx-default {
> root /var/www/nginx-default;
> index index.php index.html;
> }
раздаёт файлы из /var/www/nginx-default на URL
http://траляля.info/var/www/nginx-default. Другими словами, не надо в
location повторять root. Вы перепутали root и alias.
|