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

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

Спасибо за мануал.Скоро пригодится…
Было бы еще не плохо узнать как поставить и настроить ftp и mail сервер.
Но все равно, спасибо))
А зачем они обычному сайту?
Вы, наверное, хотите свой хостинг организовать. :)
Не, просто для нужд компании и для удобства.;)
НЛО прилетело и опубликовало эту надпись здесь
Ставьте Pure-FTPd. Ставиться и конфигурируется легко, один раз настроил и забыл.
ru.wikipedia.org/wiki/Pure-FTPd
что скажите насчет ProFTPd?
я все колеблюсь между тремя серверами с которых начать обучение: PureFTPd ProFTPd i VsFTPd

само собой что за время практики скорее всего я перепробую все три но всетки хочется начать с одного самого распространеного который поддерживает мускулы, тоесть виртуальных юзеров и тп и тд.

спасибо.
Может конечно мне не повезло или я такой глупый, но вирутуальных юзеров с указанием папок для каждого из них на ProFTPd я не смог. Наверное стоило хорошенько еще конфиг порыть, не знаю…

Мне не нужен был монтср, мне нужен был фтп сервер который я бы мог быстро развернуть. Pure-FTPd запустился в нужной мне конфигурации менее чем за час, большую часть этого времени я читал доки. Сервер с лихвой покрывает требование поддежки виртуальны юзеров, папок для них, дисковые квоты и степень использования канала вкупе с chroot. Поэтому для меня выбор очевиден. Поюзай ProFTPd, если получиться не очень, всегда можно развернуть Pure-FTPd )
Такая установка это не debianway. Я бы так делать на боевом серваке не стал. Обслуживать очень неудобно.
Лучше собирайте deb пакет.
А если вам нужен полный контроль — ставьте Gentoo.
Для sid 0.7.61 есть.
sid — unstable
Взять src-пакет из sid'а и на его основе собрать свой пакет nginx'а — дело недолгое.
С таким же успехом можно свой пакет из исходников собрать, если требуется не разовая установка, а планируем пакет использовать часто.
Освойте Apt-Pinning.

Не учите дедетей с молоду криво ставить Debian, пожалуйста
Любой пакет необходимо будет поддерживать в актуальном состоянии. Понятия «разовая установка» не существует.

Пересобирать из исходников каждый раз при обнаружении remote buffer overflow / DoS PoC не вариант.
И? Что мешает взять пакет и собрать его у себя? Или просто установить его руками?
Во-первых, зачем мне пакет, если я один раз установил и забыл?

Во-вторых, прочитайте, пожалуйста, внимательно заголовок — там есть слово «для чайников».
я один раз установил и забыл?


А потом через месяц (два месяца, год) в установленном софте будет обнаружена уязвимость (возможно и не одна). И что дальше? Забудем и о них?

И как раз чайников нельзя учить «быстро и грязно». Пусть научатся правильно, а как сделать «грязно» потом сами разберутся (когда будут понимать, что делают и какие риски).
Вот для чайников вообще здорово было бы собрать пакет со всем этим и просто дать ссылки, а то это слакварь получается
sid — не слакварь и не LFS. make install в пакетном дистрибутиве — это непрофессионально и за это отрывают руки.
Да, вы могли бы для чайников собрать это все в .deb и выложить где-нибудь.
> Перво-наперво обновляем порты

Ага, порты. В Debian.

Лучше для начала ознакомиться хотя бы с терминологией, прежде чем советовать другим людям превращать свою систему в Slackware командой make install.
Чё вы к терминам придираетесь?
nginx из «портов» не подходит — собираем руками.
eccelerator’a нету — тоже собираем руками.
всё остальное ставится из портов.
полезная статься для новичков.
вы путаетесь в терминах,
«все остальное» ставиться в статье из пакетов
система пакетов это уже скомпилированное по, которое вы просто инсталлируете
система портов, это система получения исходников, последующая их компиляция и инсталляция
тут irony нету, я знаю разницу между пакетами и портами
Есть репозиторий где можно взять eaccelerator
Зачем слакифицировали Дебиан-то? Про анстейбл и експерементал репозитории не слышали?
А вы из них что-нибудь ставить пробовали и тестировать под нагрузкой? Попробуйте для начала из sid поставить nginx 0.7.61 и php 5.2.10. И сделать так, чтобы сервер не выдавал при каждом втором запросе 50о-ую ошибку.
Да собсна, работает…
Может, поделитесь, как?
Было бы любопытно узнать, что я делаю не так.
Да так же, только без плясок со сборкой и написанием инит-скриптов…
аналогично, отлично работает. Ни разу 500-ку не выдает.
Точно так же — никаких бубнов и костылей, исключительно прямые руки и здравый смысл.
Под нагрузкой надо ставить улучшенный php-fpm
Не поверите. Сегодня только настраивал эту связку (ну +python) и наткнулся на этот мануал на вашем сайте. А вечером захожу почитать хабр — дежавю так и прет :)
Мир тесен
Не думал, что мой сайт кто-то читает, кроме меня и пары друзей. :)
Так же как и я свой :)
Как всегда, статья, писавшаяся для себя, оказалась полезна еще кому-то. Гугл-то читает.
НЛО прилетело и опубликовало эту надпись здесь
Я для себя этот вопрос решил просто — перешёл на FreeBSD, где в портах есть всё мне необходимое, не приходится возиться с установкой.
Да-да-да, у плохих танцоров всегда полы во всем виноваты (ну или выступающие части тела, кому как)
«пакетные» конфигурации еще кто-то должен сделать. А взял исходники php 5.3.0, накатил патч, загнал все воркеры с chroot и горя себе не знаю. А дожидаться покеда, когда самому собрать можно…
shock@shock:~$ cat /etc/apt/sources.list | tail -n 7 | head -n 3
 # PHP 5.3
 deb http://php53.dotdeb.org stable all
 deb-src http://php53.dotdeb.org stable all
shock@shock:~$ php --version
 PHP 5.3.0-0.dotdeb.8 with Suhosin-Patch 0.9.7 (cli) (built: Aug 12 2009 18:11:27)
 Copyright © 1997-2009 The PHP Group
 Zend Engine v2.3.0, Copyright © 1998-2009 Zend Technologies

Я уже больше месяца на стабильном php 5.3. Как думаете, знаю ли я себе горе?
И это php-fpm?
точно, в вашем посте я не увидел упоминания о php-fpm.
НЛО прилетело и опубликовало эту надпись здесь
Обидно — у самого написана подобная статья, ждал нормализации кармы… Правда вместо debian у меня ubuntu server, вместо nginx + fcgi у меня описывался nginx + apache, вместо eaccelerator xcache + самостоятельная сборка PHP с дополнительными модулями(причины есть, почему не подходит версия из репозитория).
А чего обидно-то? Опубликуйте!
Ну просто треть статьи похожа.
Я тогда ее еще дополню парой интересных вещей, сразу 3 части сделаю видимо ;) Благо одна готова и вторая реализована, осталось снабдить комментариями.
Мне было бы интересно почитать, как поставить nginx для статики на отдельный поддомен, когда apache работает с самим движком. Так что ­— ждём вашей статьи.
Вы не поверите, но эта часть занимает 2 строки у меня ) Запостил статью.
Кстати где? В списке статей не нашел.
Ничего не понятно
PHP_FCGI_CHILDREN=5
ну очень малое число для нагруженного проекта. Он ведь не умеет плодить процессы… то есть максимум будет возможно обрабатывать только 5 одновременных РНР скриптов…

Кстати, под Дебиан поставить php-fpm единственный вариант — компилять вручную из сорцов порушив стройную систему deb-пакетов? deb-src есть какой нибудь (искал-ненашёл). Работаем по варианту примерно как в статье.
Два дополнения. В Lenny надо использовать aptitude вместо apt-get — в соответствии с рекомендациями. Второе — то что в статье рекомендовано — глупость, так как из стабильного работающего дистрибутива делается чёрт знает что. Проще было поставить sid и не мучаться, всего-то сделать что-то вроде «aptitude install nginx apache2 php-cgi» и это почти всё что надо.

Перл про старую версию в пакетах… Она работающая, в отличии от чуда которое собрали. Вообще хабр из интересного сайта с интересными статьями превращается в какое-то собрание легенд и дурных советов.

PS
В дискуссии ввязываться не буду, сразу минусуйте, можно не комментировать.
из-за любви aptitude к чистке пакетов — я его терпеть не могу. Однажды он удалил мне какой-то пакет со шрифтами «За ненадобностью». После этого в нескольких прогах, в том числе в Фоксе пропал текст (место под текст есть, словно он никуда не пропадал, а самого текста — нету). Пришлось смотреть, что же он там удалил, apt-get install <Имя пакета> и, о чудо, текст вернулся на место.
ну ёпрст. два дня назад ставил всю эту красоту на том же Debian, намудохался как конь. сейчас проверю все ли сделал как надо. в закладки.
А зачем новичкам nginx + php-cgi + mysql + eaccelerator? «Как построить АЭС для чайников»?
Новички разные бывают. У некоторых посещаемость по 5000 уников в сутки.

А статьи такие нужны. Иначе новички никогда «старичками» не станут :)
Администрирование и «уники» это разные вещи.
Особенно когда эти новички будут настраивать сервера не себе, а как фрилансеры. :)
К написанию подобных howto надо подходить ответственно и думать, что получится в итоге.
Перенесли бы в «системное администрирование» или в «серверную оптимизацию»… Это же не дебиан-специфично :)

p.s. а почему не php-fpm и зачем memcached на VDS 256mb памяти?
Перенес. php-fpm патч не ставил, т.к. разницы в производительности не заметил, а готовый пакет поставить проще.

memcached даже на 256mb дает прирост производительности, если приложение с ним грамотно работает. 64мб мемкэшу и 64мб еакселератору можно отдать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Осталось рассказать, на каком железе. ;)
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Снова php-fastcgi…
Когда сервер начнет говорить 503 вместо контента, поднимаем назад апач и nginx используем по назначению? :)
НЛО прилетело и опубликовало эту надпись здесь
fastcgi_param script_FILENAME /home/www$fastcgi_script_name; исправьте на
fastcgi_param script_FILENAME /home/www$fastcgi_script_name;
а то не заработает
аа тут хитрость… хабр сам убрал в нижний регистр часть названия переменной. вообщем вместо script_filename надо писать бальшими букаваками )
еще следует добавить в /etc/sysctl.conf строчку:
kernel.shmmax=67108864
и выполнить:
echo 67108864 > /proc/sys/kernel/shmmax

во избежание возникновения:

eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.
PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
Вроде все собрал, настроил nginx, запустил php-cgi. А вместо любой странички *.php показывает " No input file specified". Статику всю нормально отображает. Не знаете, в чем может быть дело?
Есть поправка, когда настраиваем php через fastcgi то при прописывании localhost nginx его упорно не хотел видеть, нужно было исправить на 127.0.0.1 — и тогда настало мне счастье :) — если что людям на заметку.
eAccelerator вылетает всё равно с еррором:
eAccelerator: shmmax should be at least 2MB
PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0

пробовал и добавлять в /etc/sysctl.conf kernel.shmmax=67108864, и echo 67108864 > /proc/sys/kernel/shmmax и /sbin/sysctl -w kernel.shmmax=67108864 и /sbin/sysctl -p
всё равно одно и тоже. есть совет у умных человеков?
при таком конфиге меня не заработало

location ~ \.php$ {
root /home/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /home/www$fastcgi_script_name;
include fastcgi_params;
}

а вот так все ок.
fastcgi_param script_FILENAME /home/www$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
Если кому будет нужно, то в freebsd проблема с последним портом eaccelerator решается так:
cp /usr/local/share/examples/eaccelerator/eaccelerator.ini /usr/local/etc/php/
/usr/local/etc/rc.d/php-fpm restart && ./nginx restart && ./apache22 restart

до того как стал использовать, получил ошибку
eAccelerator: shmmax should be at least 2MB
при этом умер php-fpm и apache c mod_php.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации