непонятки с конфигурацией nginx...

azlk azlk at puppyrus.org
Sun Jun 7 08:11:01 MSD 2009


Сервер 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
Что это за модули вообще?? Про них нигде ничего не написано - как же
можно новичку понять, нужны они или нет, если я про них даже прочитать
не могу нигде???..
2. Откуда и зачем мне по умолчанию впихнули путь /usr/html? Я нигде
этого не просил, мне ТАК не удобно, а на параметры в конфигурации сайта
он чихает, как будто их нет (root /var/www/nginx-default). Нет, я,
конечно, погуглил, посмотрел Makefile  и уже понял, что можно взять и
тупо статически прописать это там. Но разве это нормально и/или удобно?
В следующий раз, мне надо снова будет всё то же самое руками
прописывать?... Почему при ./configure .....[options] я не могу задать
путь корня www? Сколько я собирал программ, PREFIX относится к
бинарнику, библиотекам и пр., а настройки работы самой программы должны
находиться в конфигурационном файле и она (программа) на них как-то
должна реагировать, разве не так? У меня nginx не реагирует :-(
3. Даже когда nginx начал что-то показывать - я не могу понять его
логику: он то показывает файлы из /usr/html, то вдруг начинает казать
из /var/www/.. Наверное, должно пройти несколько лет, чтобы обычный
человек, не искушённый в настройках nginx, смог все-таки заставить её
работать так, как ему надо?....
Создаётся такое ощущение, что вокруг nginx существует какой-то заговор:
все всё знают и поэтому об этом не говорят :-0 Может быть я чего-то не
знаю? Сайт Игоря Сысоева внимательно читал, а также кучу конференций по
этому поводу. У меня, простите, создалось впечатление, что у nginx
какая-то невнятная логика работы (я сейчас говорю только про
конфигурацию и размещение фалов). Почему у такой замечательной
программы, которая уже тащит около 4% сайтов, как пишут, нет НОРМАЛЬНОЙ
документации? Это, что, такая непосильная работа??? Документации, взяв
в руки которую, любой новичок сможет собрать демон, настроить и
запустить его, при этом ПОНИМАЯ, что происходит!.... Там чуть ли не по
каждому пункту вопросы, на которые нет ответов... Про https/SSL я даже
боюсь спрашивать - все тут обсуждают такие дебри, в которые я даже еще
не лез, а мне хотелось попробовать запустить для начала хотя бы
rtorrent, чтобы не весь мир управлял им, а только несколько человек.
Так я не могу найти НИГДЕ толкового описания - КАК сделать так, чтобы
nginx пускал меня по https, спрашивая логин-пароль.... Apache, lighhtpd
- пожалуйста, а nginx - тишина...
Простите, уважаемые гуру веб-серверов, интернет-контента и прочая и
прочая, если я задел вас за живое, но вынужден констатировать, что
существующая документация на nginx абсолютно невнятна, в ней местами
отсутствуют даже намёки на многие неизвестные новичкам вещи, и потому
непригодна для тех, кто первый раз берётся за настройку веб-серверов, в
частности nginx. Чтобы не заниматься просто критикой, я предлагаю свою
помощь в создании внятной и взаимоувязанной документации ХОТЯ БЫ на
основные моменты, чтобы каждый желающий мог начать работать с программой
(конфигурирование, установка, каталоги для размещения фалов, связка с
cgi). Я очень плохо (пока) разбираюсь в основах работы веб-серверов,
раздачи контента через интернет, не знаю regexp-ы, и т.д. - но
некоторые познания в линуксе у меня все-таки уже есть, и самое главное,
я могу писать понятные и разжеванные документы, так, чтобы каждый пень,
типа меня, смог их понять и применить. Я думаю, что отсутствие толковой
(а порой - хоть какой-либо) документации и сдерживает популярность
nginx. Ведь именно об этом пишут на всех форумах, особенно,
англоязычных.





More information about the nginx-ru mailing list