Проброс внешнего IP c VDS к себе в сеть при помощи mikrotik

Или как сделать себе дополнительный внешний IP адрес дома и хостить на нём свои сайты.
Надо сказать, что материал ориентирован на гиков, которые любят selfhosted решения. Конечно, тут можно спорить про надежность и стабильность таких решений, SLA и прочие умные слова. Но раз вы нашли этот материал, то вы уже понимаете и без меня все минусы и плюсы данного решения.

Читать далее Проброс внешнего IP c VDS к себе в сеть при помощи mikrotik

Установка mikrotik RouterOs CHR на VDS firstvds.ru

Инструкция от 2024 года

Для начала идём на firstvds. Если будете регистрироваться, то прошу сделать это по моей ссылке. Для вас разницы нет, а мне приятно! Создаём любую необходимую нам VDS (кто бы мог подумать?!). Нам понадобится Ubuntu 20.04. Сразу после создания виртуальной машины нужно зайти в неё и выполнить команды:

#ip -c a

Команда выведет текущие сетевые настройки вирутальной машины, что позволит нам узнать наш IP адрес и маску подсети. Должно выдать что-то такое:

Читать далее Установка mikrotik RouterOs CHR на VDS firstvds.ru

Poste.io импорт контактов и кодировка

Поддерживается импорт vcard, поэтому достаточно сгенерировать файл на старом сервере (в моем случае яндекс) со всеми контактами. Файл экспортируется в кодировке UTF-8 и в poste импортируется с крякозябрами. Чтобы исправить это достаточно .vcard файл сконвертировать в UTF16 with BOM и тогда при импорте контактов всё получится как надо

Facebook / instagram ip list

Для обхода блокировок инстаграма и фейсбука использую такие диапазоны IP адресов в роутере:

31.13.24.0/21
31.13.64.0/18
45.64.40.0/22
66.220.144.0/20
69.63.176.0/20
69.171.224.0/19
74.119.76.0/22
102.132.96.0/20
102.132.112.0/21
102.132.120.0/23
102.132.122.0/24
102.132.124.0/22
102.221.188.0/22
103.4.96.0/22
129.134.0.0/16
147.75.208.0/20
157.240.0.0/16
163.114.128.0/20
164.163.191.64/26
173.252.64.0/18
179.60.192.0/22
185.60.216.0/22
185.89.216.0/22
199.201.64.0/22
204.15.20.0/22

Как побороть ошибку Resource temporarily unavailable у nginx?

Речь пойдет о комбинации nginx + php-fpm (на момент написания статьи версия php — 7.3)

Столкнулся с проблемой, что при небольшой нагрузке на сервер все сайты начинают резко выдавать 502 Bad Gateway

В логах можно наблюдать приблизительно такую картинку:

[error] 7460#7460: *5365312 connect() to unix:/run/php/php7.3-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream

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

Проверяем лимиты:

sysctl net.core

Нас интересуют строки:

net.core.somaxconn = 128
net.core.netdev_max_backlog = 200

Из-за них и происходит ошибка, так как максимальное кол-во соединений 128, а максимум не обработанных 200.

Меняем лимиты, в файл /etc/sysctl.conf прописываем строки

net.core.somaxconn = 20000
net.core.netdev_max_backlog = 65535

И применяем параметры

sysctl -p

Перезапускаем php-fpm

/etc/init.d/php7.3-fpm restart

И с помощью утилиты loadem проводим тестирование своего сайта и получившейся конфигурации

./loadem -l 1 https://mysite.ru 200

URL: https://mysite.ru
Clients: 2000
Starting
MaTps    7.81, Tps    7.81, Err  0.00%, Resp Time  0.966

Completed 8 requests in 1.03 seconds
Total TPS: 7.74
Avg. Response time:  0.966
Max Response time:   1.064

Обращаем внимание на Err 0.00%. Оно должно теперь быть равно 0 (тестирование до изменений параметров sysctl проводите заранее, само собой)

В качестве исходного материала использовал статью Eduard Yamaltdinov за что ему огромное спасибо.

Бесплатные MT-proxy для Telegram

Выкладываю небольшую подборку бесплатных МТ-прокси, надеюсь РКН не читает мой блог и не заблокирует адреса

tg://proxy?server=proxy.mtproto.net&port=443&secret=deadbeefdeadbeefdeadbeefdeadbeef

tg://proxy?server=ton.tools&port=443&secret=b306b256b03831e9dac33519460aec1e

tg://proxy?server=iran-1.proxy.digitalresistance.dog&port=443&secret=d41d8cd98f00b204e9800998ecf8427e

tg://proxy?server=tonnel.me&port=443&secret=624e543658533aae8d81cd3e0c0c9e04

tg://proxy?server=tg.tonnel.org&port=443&secret=101054b32eb37247efb4664fb750064d

Можете добавить все ссылки себе в клиент и переключаться между ними в случае недоступности

Как установить php 7.1 в debian 9 stretch ?

Пара команд и у вас в системе есть php 7.1

Добавляем в новый source в менеджер пакетов apt и обновляем его

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update

устанавливаем php

sudo apt install php7.1-common  php7.1-readline php7.1-fpm php7.1-cli php7.1-gd php7.1-mysql php7.1-mcrypt php7.1-curl php7.1-mbstring php7.1-opcache php7.1-json

наслаждаемся :)

Как установить mysql 5.7 сервер на debian 9 stretch?

В стабильной ветке современного debian перестал существовать mysql и он теперь стал mariadb. Почему так случилось? Потому что компания Oracle купила mysql и решила его лицензировать и продавать для коммерческого использования. Поэтому debian адепты бесплатных лицензий и стабильности выпилили из репозитория mysql и заменили его форком mariadb. Тем, кому это не по душе простейший выход из ситуации описываю в статье.
Читать далее Как установить mysql 5.7 сервер на debian 9 stretch?

Настройка nginx для раздачи статики и экономия места на диске

При разработке сайтов возникает проблема хранения множества изображений и прочих медиа-файлов. Такие медиа-файлы могут занимать ощутимое количество места на диске, которое в век повального применения ssd дисков становится дороже. Да и бекапить такие данные часто накладно. Кроме того эти файлы создаются один раз и хранятся всё время существования сайта (зачастую), и таскать эти файлы за собой с сервера на сервер с каждым годом становится неприятно. Знакомо? Давайте попробуем разобраться как дешево можно решить проблему.

Читать далее Настройка nginx для раздачи статики и экономия места на диске