Записи с тегом «server»

Кэшируем Wordpress средствами Nginx

Wordpress далеко не самая производительная платформа для ведения блогов, и крупные сайты, как правило, используют кэширование для ускроения его работы. Для wordpress, есть много популярных дополнений реализующих кэширование, но все они на мой взгляд довольно осложненные, и, как правило, требуют либо установки дополнительного программного обеспечения, такого как, например, Varnish или memcached, либо перекладывают кэширование на плечи PHP который тоже производительным не назовешь. В этом посте я расскажу как настроить кэширование wordpress средствами nginx, без установки дополнительного ПО.

В nginx есть FastCGI модуль который предоставляет директивы, позволяющие кэшировать ответ от fastcgi. Использование данного модуля избавляет нас от необходимости использовать сторонние средства кэширования. Модуль так же позволяет нам не кэшировать часть ресурсов опираясь на различные параметры запроса, такие как, например: тип (GET, POST), куки, адрес страницы и другие. Сам модуль умеет исключительно добавлять в кэш, но не умеет его очищать или удалять отдельные записи из него. Без очистки кэша при добавлении, редактировании и добавлении комментария к посту кэш не будет обновляться, и сделанные изменения будут видны только с большой задержкой, поэтому для очистки кэша мы будем использовать сторонний nginx модуль - nginx_cache_purge.

Читать дальше →

Разворачиваем приватный pypi репозиторий с localshop

Время от времени, я пишу небольшие утилиты, библиотеки и приложения на python для себя, и не всегда я готов делится этими утилитами и библиотеками, но хотелось бы иметь возможность их удобно устанавливать, и желательно привычным pip в virtualenv. Для этого я довольно давно организовал себе локальный, приватный pypi сервер. Реализаций локальный pypi серверов довольно много, и я перепробовал их все. Большинство из них откровенно неработающие, другие безбожно глючат и падают от малейшего чиха. В конечном итоге для себя я выбрал localshop. В этом небольшом посте я расскажу как настроить локальный, приватный pypi репозиторий на localshop.

Читать дальше →

Копирование MySQL пользователь с их правами на другой сервер

Недавно случайно увидел, какие велосипеды люди делают, чтобы просто скопировать всех пользователей с одного MySQL сервера на другой. Хотя всё на самом деле довольно просто, и умещается в одну небольшую команду:

mysqldump -uroot -pPASSWORD mysql user > mysql_users_dump.sql

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

Читать дальше →

Настройка OpenVPN через http/https прокси

Часто бывает нужен доступ к своему рабочему компьютеру который, как правило, находится за корпоративным NAT и доступ есть только через корпоративный proxy. Ко всему прочему, proxy доставлял другие неудобства связанные с программами, которые сами не умели работать через него.
В один прекрасный день меня это достало, и побудило организовать себе удалённый доступ посредством OpenVPN сервера, и тем самым я "убил двух зайцев": организовал удалённый доступ к рабочему компьютеру, и нормальный интернет на нём.

Читать дальше →

Автоматическое обновление или уведомление о наличии обновлений в CentOS 6

Недавно я рассказывал про автоматическое обновление либо уведомление о наличии обновлений в Debian based дистрибутивах. Сегодня я бы хотел рассказать о том же, только для CentOS 6.

В производных от Red Hat дистрибутивах, и, соответственно в CentOS используется пакет yum-cron. Функционал у него аналогичный утилитам описанным в прошлом посте: либо автоматически обновляет, либо уведомляет сообщением на E-Mail о наличии обновлений.

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

Читать дальше →

Автоматическая проверка обновлений / обновление в Debian и Ubuntu

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

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

Читать дальше →

Установка утилиты он-лайн просмотра лог файлов Log.io на Debian 7 "Wheezy"

Любому web-разработчику часто приходится смотреть логи своего приложения, и они очень часто жалуются, что неудобно это делать через ssh (интересно, почему бы?) и tailf. Наверное именно для них и был написано log.io.

Log.io - это утилита для просмотра логов в реальном времени в веб-браузере. Написана на node.js и socket.io.

Читать дальше →

Установка простого просмоторщика git репозиториев - gitlist на CentOS 6 с Nginx

Понадобилось мне развернуть простейший web просмоторщик git репозиториев на сервере. Главными критериями выбора были лёгкость, простота и написанный на PHP без лишних зависимостей. Собственно, какое либо управление репозиторием было мне ни к чему. Выбор, увы был невелик и в итоге я остановился на gitlist.

Gitlist - это простой web просмоторщик git репозиториев. Написан на PHP. Выполняет собственно только одну задачу - позволяет просматривать git репозитории: коммиты, сам код. Есть подцветка синтаксиса и возможность скачать весь код одним архивом. Собственно то, что мне и было нужно.

Читать дальше →

Динамические виртуальные хосты (dynamic vhost) в nginx

У apache есть такая полезная вещь как dynamic vhost - динамические виртуальных хосты. Собственно, оно нужно для того, чтобы каждый раз при добавлении домена, не было нужды редактировать файл конфигурации. Достаточно один раз настроить, добавить\обновить DNS запись и добавить директорию на сервер.
Так вот до недавнего времени, мне не было нужды в динамических виртуальных хостах, но не так давно понадобилось сделать и я, признаться, немного был поражён тому, насколько это просто, лаконично и главное гибко можно настроить в nginx.

Читать дальше →

Настраиваем простейший VPN сервер для дома

Сейчас, многие провайдеры предоставляют доступ в интернет по технологии PPTP, или проще говоря VPN. Т.е. пользователи объеденены в одну локальную сеть доступ к которой обычно бесплатен, а выход в интернет осуществляется путём подключения к VPN серверу. Всё бы замечательно, но у многих провайдеров до сих пор просто грабительски цены на безлимитные тарифы, что и заставляет людей объединятся и делить интернет на всех. Провайдер которым я пользуюсь не такой, но и его цены на безлимиты раньше были отнюдь не маленькими. Тогда я на свой небольшой домашний сервер решил поставить VPN сервер и с друзьями скидывались на безлимитный тариф. Сейчас уже конечно всё более радужно и у каждого из нас свой отдельный безлимит на 8Мбит\с, однако есть и другие провайдеры в других городах. Думаю людям которые подключены к подобным провайдерам, данная статья будет полезна.

На домашнем сервере, так же как собственно и на всех остальных серверах которые под моим руководством, традиционно установлен Debian stable.

Читать дальше →

Настраиваем VPN PPTP соединение из командной строки

Когда-то я писал пост про "правильную настройку VPN соединения по так называемому Gentoo way". Несмотря на то, что на пост было множество несогласных с моим мнением отзывов(кстати, набравшись опыта я сейчас понимаю что сделал бы тоже несколько по другому. Каюсь, грешен), эта тема как оказалось очень актуальна и востребована. Мне до сих пор приходят на email различные вопросы связанные с настройкой VPN соединения на сервере - т.е. без графической оболочки и утилит. В этом посте я постараюсь как можно более подробно описать данный процесс.

Читать дальше →

Yaws - лёгкий web сервер на Erlang

Недавно на всех серверах кои я администрирую, решил сменить lighttpd на что либо ещё более лёгкое, и конечно же, под чем либо более лёгким, я имел в виду nginx. Однако, раз уж я захотел сменить web сервер, то я не мог не посмотреть из интереса на другие лёгкие web сервера, и не мог не заметить web сервер Yaws.

Yaws (Yet Another Web Server) - web сервер написанный на языке Erlang. На языке, который по праву считается крайне производительным. Тоже самое можно сказать и об самом web сервере: по сравнению с apache2, yaws - просто реактивный.

Yaws поддерживает два режима работы:

  • Как отдельный web сервер
  • Как интегрированный web сервер в другое erlang приложение

Я опишу первый вариант.

Читать дальше →

Thttpd - пожалуй, самый лёгкий и простой web сервер

Если вам нужен очень простой web сервер который практически не требует настройки, то есть один, который на мой взгляд, очень подойдёт - thttpd. Он настолько прост, что даже не может выполнять php скрипты. Только статический контент и обычные cgi скрипты.

Читать дальше →

Монтирование удалённых FTP и Samba директорий в локальную

Продолжаю тему монтирования удалённых каталогов. В прошлый раз я писал про монтирование через sshfs, или sftp. В этот раз напишу про монтирования samba шар, и ftp. В этот раз обойдусь без предисловия, и преступим сразу к делу :) Предполагается, что у вас уже есть рабочие и настроенные ftp и smb сервера.

Читать дальше →

Монтирование удалённых каталогов с помощью SFTP

Часто бывает нужен доступ к какой либо папке на сервере, и как по закону подлости на нём не оказывается хотя бы ftp сервера в виду того, что посчитали его ненужным во время настройки. Что ж. Можно потратить немного времени на его настройку, а можно сделать более лаконично, просто и безопасно монтируя удалённые каталоги с помощью sshfs. Тем более что от сервера требуется только наличие настроенного, и рабочего ssh сервера.

Для этого нам понадобится fuse, и собственно сам sshfs.

sudo aptitude install sshfs fuse-utils

У меня Debian Sid, и пакеты называются именно так. В других дистрибутивах может не быть пакета fuse-utils, но будет fuse. Он и нужен. Пакет sshfs обычно одинаково назвывается во всех дистрибутивах.

Читать дальше →