Сервер

Серверное администрирование. Настройка, сопровождение. Делюсь своим опытом работы в среде Linux.

Поставил сертификат Let’sEncrypt

22 комментария

Установка сертификата от Let's EncyptВот наконец решил попробовать SSL сертификат от Let’s Encrypt. Сподвигло меня на это то что, купленный мной ранее сертификат от COMODO, на платформе Android оказывается считается недоверенным. А я ни сном ни духом об этом( Да и вобщем хрен с ним с тем сертификатом, стоил он всего 8$, и во первых не жалко, а во вторых, FireFox начал ругаться на то сертификат использует небезопасное шифрование 1024bit.

Вообще что такое Let’s Encrypt? Это центр сертификации который выдает бесплатные HTTPS сертификаты. Ну и немножко википедии:

Проект Let’s Encrypt создан для того, чтобы большая часть интернет-сайтов смогла перейти к шифрованным подключениям (HTTPS). В отличие от коммерческих центров сертификации, в данном проекте не требуется оплата, переконфигурация веб-серверов, использование электронной почты, обработка просроченных сертификатов, что делает процесс установки и настройки TLS-шифрования значительно более простым. Например, на типичном веб-сервере на базе Linux, требуется исполнить две команды, которые настроят HTTPS шифрование, получат и установят сертификат примерно за 20-30 секунд.

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

Проксирование, ресайз и кеширование картинок с помощью NGINX

10 комментариев

Есть некий удаленный сервис (далее images.service.com), по функционалу похож на каталог товаров. У него есть АПИ благодаря которому, я могу выводить этот список товаров на своем проекте (далее site.com). Но вот незадача, удаленный ресурс частенько падает. И как следствие — в каталоге пропадают абсолютно все товары, и вы сами представляете, наверняка, что это такое.

Пришлось прикрутить кеширование данных всех товаров через АПИ. По сути, сам проект уже работает с кешированными данными. Но вся беда в картинках каждого товара. Приблизительная схема работы проекта:
Кеширование товаровКак только падает удаленный сервис, пропадают картинки товаров, что очень сильно сказывается на юзабилити проекта, и вообще выглядит убого.

Товаров в каталоге около 10 000. Картинок у каждого в среднем 30. Плюс 3 размера каждой картинки (large, medium, small), итого около 900 000 различных изображений (это около 80ГБ). Товары в каталоге динамичны — появляются, удаляются. Т.е. и за актуальностью картинок тоже надо бы следить.

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

Подытожим наши требования:

  • проксировать картинки с удаленного сервиса и сохранять их локально
  • если есть уже сохраненная картинка, то отдавать ее
  • автоматически ресайзить картинки, пересохранять их в progressive JPEG
  • минимизировать обращения к удаленному серверу, а именно:
    • если удаленная картинка не найдена, то такой ответ сервиса кешировать
    • если сервис упал, то такие ответы тоже кешировать
    • если есть уже сохраненная картинка бОльшего размера, то использовать ее (т.е. взять ее, отресайзить, сохранить, и отдать пользователю), без обращения к удаленному сервису
  • в случае ошибки отдавать картинку-заглушку

Использовать PHP или любые другие скриптовые средства не хотелось, из-за их тормознутости/отжирания памяти. Все это удалось решить средствами NGINX.

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

Gitolite, Автодеплой dev… или как я работаю с GIT

4 комментария
схема деплоя dev версии

Cхема деплоя dev версии

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

Gitolite позволяет управлять репозиториями, настраивать доступ, в общем практически все что нужно и даже чуточку больше. Подробнее об этом можно глянуть в википедии. Но если в кратце, то gitolite предоставляет доступ к репозиториям посредством ssh, авторизуя пользователей по ключам. С помощью коммитов в специальный репозиторий мы управляем остальными репозиториями. В общем до жути удобно, и максимально просто.
Читать далее →

Почему FastVps лучше чем sweb. Наглядно.

6 комментариев

Собственно вот почему:
23 (1)
Не то чтобы это реклама FastVPS, скорее это антиреклама Sweb. Ни для кого не секрет что мой блог продолжительное время хостился на Sweb. Как же меня жутко бесили постоянные ошибки… На графике наглядно видно их количество. Как на сайт ни зайдешь — либо нет ответа, либо 500, либо еще что-то. В техподдержку пишешь — отвечают через сутки — «у нас все нормально».

Но 23.07.2015 я переехал на VPS от FastVPS, и с этого дня уже три месяца аптайм 100%. Может конечно и 3 месяца — не срок, но все-таки показатель. Читать далее →

Как рестартануть ISP 5

1 комментарий

Перезапустить ISP Manager 5 можно выполнив:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
или
killall core
Частенько это требуется после изменения конфига панели /usr/local/mgr5/etc/ispmgr.conf

PS: надоело гуглить это, пусть будет под рукой

Переехал на HTTPS, включил HTTP/2

20 комментариев

SSL, HSTS, HTTP2 Сегодня перевел свой блог на HTTPS. Зачем? Не знаю, но почему бы и нет?) Наверное это больше связано с популязацией https в интернете в целом. Поправил конфиг SSL, получив A+ в ssllabs. Добавил Strict Transport Security. Обновил nginx до последней версии 1.9.5, подключив HTTP/2. В целом неплохо так получилось.

Под катом подробнее об этом.

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

Переехал на новый сервер

2 комментария

Server Ну что же наконец таки это случилось. Точнее случилось знаковых два события.

1) Я съехал с мерзкого sweb на отдельный сервер!
2) Я написал новый пост за последние два года! :)

Надеюсь это событие даст мне толчок писать сюда что-нибудь далее.
Читать далее →