Статья описывает один из способов развертывания Django-проектов, в связке Nginx + uWSGI на Unix-подобных операционных системах. Тестирование, а так же дальнейшая рабочая эксплуатация производилась на FreeBSD, однако на Linux процесс будет схож, за исключением некоторых незначительных моментов.
YaZvA @jazvenko
Пользователь
Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое
16 мин
40K
Введение
С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:
0. Зачем вообще что-то оптимизировать? 1. Оптимизация ОС (FreeBSD) 1.1 Переход на 7.х 1.2 Переход на 7.2 1.3 Переход на amd64 1.4 Разгрузка сетевой подсистемы 1.5 FreeBSD и большое кол-во файлов 1.6 Softupdates, gjournal и mount options 2. Оптимизация фронтенда (nginx) 2.1 Accept Filters 2.2 Кеширование 2.3 AIO 3. Оптимизация бэкенда 3.1 APC 3.1.1 APC locking 3.1.2 APC hints 3.1.3 APC fragmentation 3.2 PHP 5.3 4. Оптимизация базы данных 4.1 MySQL 4.1.1 Переход на 5.1 4.1.2 Переход на InnoDB 4.1.3 Встроеный кеш MySQL - Query Cache 4.1.4 Индексы 4.2 PostgreSQL 4.2.1 Индексы 4.2.2 pgBouncer и другие. 4.2.3 pgFouine 4.3 Разгрузка базы данных 4.3.1 SphinxQL 4.3.2 Не-RDBMS хранилище 4.4 Кодировки 4.5 Асинхронность Приложение. Мелочи. 1. SSHGuard или альтернатива. 2. xtrabackup 3. Перенос почты на другой хост 4. Интеграция со сторонним ПО 5. Мониторинг 6. Минусы оптимизации
+361
Бесплатный облачный PHP-MySQL хостинг для небольшого сайта на основе Amazon AWS
8 мин
87KТуториал
Данная инструкция не претендует на абсолютную точность, какую-либо новизну и предназначена для делающих самые первые шаги. Поэтому не судите особо строго.
Предположим нам хочется захостить небольшой проектик где-нибудь в надежном и не особо тормозящем месте. А поскольку сайт небольшой, то не будем заморачиваться и захотим от хостинга что-нибудь самое простое. Для наших целей вполне хватит PHP, MySQL и доступа по FTP.
Для решения этой задачи идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
Причем все это при желании можно зарегистрировать и подготовить к работе за полчаса, но понадобится кредитная карта, которую примет Amazon (и снимет 2 доллара) и сотовый телефон под рукой (домашний не подойдет).
Боевая задача.
Предположим нам хочется захостить небольшой проектик где-нибудь в надежном и не особо тормозящем месте. А поскольку сайт небольшой, то не будем заморачиваться и захотим от хостинга что-нибудь самое простое. Для наших целей вполне хватит PHP, MySQL и доступа по FTP.
Для решения этой задачи идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
- Виртуальный сервер в формате micro на основе Linux с доступом по SSH.
- 30Гб места в Elastic Block Storage плюс 1Гб под бэкапы.
- 15 Гб трафика в месяц.
- Выделенный внешний IP адрес.
Причем все это при желании можно зарегистрировать и подготовить к работе за полчаса, но понадобится кредитная карта, которую примет Amazon (и снимет 2 доллара) и сотовый телефон под рукой (домашний не подойдет).
+125
Уязвимость связки PHP+nginx с кривым конфигом
1 мин
61KSummary
Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass

Background
Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
+129
Amazon EC2 + PHP-fpm + Nginx
2 мин
6KТуториал
Наступил момент когда я решил перевести свой проект FastCGI, мне не нужна была производительность, не нужна была стабильность или еще какие-то преимущества, которые предоставляет FastCGI. В первую очередь это было желание узнать что то новое, понять как оно работает, и посмотреть все преимущества в деле.
-6
Декорирование Ext JS4
4 мин
11KИспользуя ExtJS в своих проектах, приходится постоянно видеть один и тот же сине-голубой интерфейс, что не всегда хорошо. В 4й версии этого фреймворка появился удобный компонент для изменения внешнего вида вашего веб-приложения без ручной правки CSS, основанный на использовании метаязыка SASS. С его помощью можно получить интерфейс, внешне не похожий на стандартный, заменив всего пару строк в конфигурационном файле.
+40
Работа с изображениями средствами phpThumbOf
4 мин
76KПеревод
phpThumbOf — это аддон для MODx, основанный на популярном скрипте phpThumb. Он позволяет модифицировать изображения средствами различных графических библиотек «на лету».
Я не буду описывать процесс установки аддона из репозитория. Будем считать, что вы уже скачали его и установили.
Причиной написания поста послужил тот факт, что официальная документация по phpThumbOf просто ужасна. Прочитав ман, я подумал, что единственной функцией, которую можно использовать для модификации изображения при его выводе является зум-кроп (zoom-crop), ибо больше там ничего не сказано. Но позже, попробовав использовать некоторые другие опции phpThumb я выяснил, что они прекрасно работают!
Я не буду описывать процесс установки аддона из репозитория. Будем считать, что вы уже скачали его и установили.
Причиной написания поста послужил тот факт, что официальная документация по phpThumbOf просто ужасна. Прочитав ман, я подумал, что единственной функцией, которую можно использовать для модификации изображения при его выводе является зум-кроп (zoom-crop), ибо больше там ничего не сказано. Но позже, попробовав использовать некоторые другие опции phpThumb я выяснил, что они прекрасно работают!
+22
Метод достижения цели. Рецепт
8 мин
41K
Методика общеизвестна и называется она — планирование.
Если вы скажете — «а, знаю, пробовал я эти методики планирования — не помогают они, никаких гарантий они не дают, да и вообще — бесполезы» — я нисколько не удивлюсь. Отвечу так:
«Вы просто не умеете их готовить»
+42
И снова недвижимость
3 мин
1.3K
Хочу поделиться своим первым опытом по запуску стартапа. Тема хоть и довольно заезженная — недвижимость — но у нас на Дальнем Востоке, и в Хабаровске в частности, это было непаханное поле. Под катом — моя история.
+25
Мысли о свободном ПО в области систем учета
3 мин
17KНедавно пробегала тема про существующие открытые продукты в области учетных систем (CRM, ERP, автоматизация бух. учета и прочее). Не участвовал в дискуссии, которая местами была жаркой, но разные мысли в голове крутились. В итоге всех размышлений родился этот топик. Чтоб не утруждать читателей ходом размышлений вынесу до ката их резюме:
Дайте нам(разработчикам систем учета) удобный инструмент (платформу, framework) — и открытые учетные системы (в т.ч. и системы автоматизации российского бух. учета) появятся!
Тема и рассуждения касаются систем автоматизации малого и среднего бизнеса. Корпорации-гиганты и их системы автоматизации (SAP и прочие) я не обсуждаю (это отдельная большая тема, с отдельными вопросами, подходами и проблемами)
Дайте нам(разработчикам систем учета) удобный инструмент (платформу, framework) — и открытые учетные системы (в т.ч. и системы автоматизации российского бух. учета) появятся!
Тема и рассуждения касаются систем автоматизации малого и среднего бизнеса. Корпорации-гиганты и их системы автоматизации (SAP и прочие) я не обсуждаю (это отдельная большая тема, с отдельными вопросами, подходами и проблемами)
+37
Выбираем отечественного поставщика облачного хостинга
5 мин
20KЗдравствуйте, уважаемые читатели! В своей статье я хочу произвести анализ компаний, предоставляющих услуги «облачного» хостинга на территории РФ. Анализ проводится с точки зрения среднестатистического пользователя, перед которым встала задача приобретения хостинга в облаке. Основные критерии по которым будет производиться анализ — поддержка, стоимость, гибкость(как один из основных критериев), прозрачность ценовой политики т.д.
+68
Элементарная криптография
2 мин
149KПод катом:
- Шифр Цезаря
- Шифр пар
- Шифр четырех квадратов
- Матричный шифр
- Шифр ADFGX
- Шифр Виженера
+137
Релиз Elementary OS Jupiter
1 мин
5.2KСегодня ночью на суд общественности представлена первый релиз новой ОС основанной на Ubuntu 10.10.

Данная система разрабатывается в соответствии с концепцией минимализма интерфейсов и целью проекта является предоставление максимально простого и удобного окружения.
Подробности под катом

Данная система разрабатывается в соответствии с концепцией минимализма интерфейсов и целью проекта является предоставление максимально простого и удобного окружения.
Подробности под катом
+36
Заработай вместе с Opera!
1 мин
12KНынешняя весна богата оперными сюрпризами — помимо массированного запуска мобильных версий, ожидается и значительное улучшение десктопной: нас ждёт новая Экспресс-панель, расширенная поддержка веб-стандартов, новая версия Opera T… Впрочем — не буду раскрывать все секреты. Но один, самый важный для российской аудитории, всё-таки озвучу.
+18
Релиз форумного движка нового поколения Vanilla 2.0
2 мин
11KВышел долгожданный релиз второй версии форумного движка vanilla. В блоге разработчиков появилось новость о релизе.

Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.
Однако, в отличие от сотен других подобных проектов, этот прост лишь для пользователя, изнутри же он напичкан современными технологиями, а потому тут на полную катушку используется AJAX, и главная задача разработчиков — сделать форум максимально простым для начинающих пользователей, и кажется им это удалось. Легко и незатейливо из коробки работают такие функции, как автосохранение сообщений в черновики, отправка сообщений без перезагрузки страницы, загрузка новых сообщений и так далее.
Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.
Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».
Что такое Vanilla?

Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.
Однако, в отличие от сотен других подобных проектов, этот прост лишь для пользователя, изнутри же он напичкан современными технологиями, а потому тут на полную катушку используется AJAX, и главная задача разработчиков — сделать форум максимально простым для начинающих пользователей, и кажется им это удалось. Легко и незатейливо из коробки работают такие функции, как автосохранение сообщений в черновики, отправка сообщений без перезагрузки страницы, загрузка новых сообщений и так далее.
Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.
Что нового?
Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».
+54
Ядерный реактор – дома с нуля
4 мин
446K

+299
Быстрый старт в MODX Revolution
4 мин
61KТуториал
Revolution дорос уже до версии 2.0.8, но большинство разработчиков не спешит его использовать, так как документация еще не полная, да и статей на русском очень мало.
Лично я не нашел ни одной пошаговой инструкции «для чайников», и поэтому решил написать ее сам.
Конечно, это топик для не «совсем чайников», а для людей, которые хоть немного знакомы с Evolution и при переходе на Revolution обломались от всего непривычного, как я. Никаких секретов и ловких методик тут не будет. Обычный how-to с картинками (их довольно много).
Лично я не нашел ни одной пошаговой инструкции «для чайников», и поэтому решил написать ее сам.
Конечно, это топик для не «совсем чайников», а для людей, которые хоть немного знакомы с Evolution и при переходе на Revolution обломались от всего непривычного, как я. Никаких секретов и ловких методик тут не будет. Обычный how-to с картинками (их довольно много).
+29
Правила хорошего тона при работе в «Фотошопе»
1 мин
7.6K
www.ilovepsd.ru — небольшой справочник по «Фотошопу» для веб-дизайнеров, но будет полезен и верстальщикам. Например, если вы занимаетесь версткой, то можете ссылаться на него, как на требования к макетам дизайнера.
Справочник призывает работать в «Фотошопе», соблюдая правила хорошего тона. Цель проекта — ускорить процесс дизайна, улучшить чтение файлов проекта и облегчить процесс верстки.
Полезные (и по делу) советы от комментирующих будут добавлены в проект. Велкам.
UP. Сделана фейсбук пейдж для желающих отписаться.
+87
Решение вопроса с паролями — раз и навсегда
3 мин
17K
Эта статья выросла из одного обстоятельного комментария. За идеи, описанные там, меня поблагодарили несколько человек в реале — поэтому было решено оформить их в топик.
Итак, как же легко и ненапряжно создавать и использовать уникальные и криптостойкие пароли для каждого сайта, на котором довелось заводить аккаунт? Как сделать так, чтобы через 3 года забвения, обнаружив свой покрытый мхом аккаунт, вы не задумываясь залогинились, введя уникальный для этого сайта 15-символьный пароль, состоящий из не поддающегося анализу набора букв и цифр?
Я пользуюсь этой системой уже почти год, придумав ее после взлома моего аккаунта в соц. сети — и с удовольствием поделюсь с заинтересовавшимися
+78
Основные услуги и тарифы на рынке киберпреступности в странах СНГ
3 мин
4.1K
Эксперты Group-IB совместно с ESET и LETA провели первое исследование состояния рынка компьютерных преступлений на постсоветском пространстве. Компания Group-IB позиционирует себя как единственная в России организация, способная расследовать преступления в сфере IT по заказу коммерческих компаний (разумеется, на платной основе), так что такие отчёты им положено издавать по роду деятельности.
+49
Информация
- В рейтинге
- Не участвует
- Откуда
- Хабаровский край, Россия
- Дата рождения
- Зарегистрирован
- Активность