imported>Vix |
imported>Vix |
Строка 1: |
Строка 1: |
| == Консольные команды. Часть 1, Администрирование в консоли. ==
| | '''В рамках данного туториала настроим реверс прокси для работы наших сайтов в прозрачном режиме за 10 минут. Поехали.''' |
|
| |
|
| *'''login''' запрос от пользователя имени и пароля (запрос от системы к пользователю) для входа в систему( по умолчанию, при наборе пароля, он не отображается).
| |
| *'''logout''' выход из текущего сеанса оболочки.
| |
| *'''startx''' команда для запуска графического интерфейса X Window (не путайте с системой Windows.Не бойтесь. Это не она:)).
| |
| *'''shutdown''' останавливает систему и предотвращает повреждение файловой системы при этом, но,используется только при работе в консольном режиме.При работе в режиме X Window, не используйте.
| |
| *'''halt''' быстрое и корректное выключение системы.
| |
| *'''poweroff''' корректное выключение системы.
| |
| *'''reboot''' корректное выключение с последущей загрузкой.Перезагрузка.
| |
| *'''vmstat''' выдаёт сведения о процессах, памяти и загруженности центрального процессора.
| |
| *'''su''' вход в сеанс администратора, но прийдётся ввести пароль.Для выхода из этого сеанса наберите exit и нажмите ENTER.
| |
| *'''apropos''' поиск строки в заголовках и названиях документации ( дополнительно вводится слово для поиска). Выдаёт список всего найденного.
| |
| *'''cal''' форматированный календарь на текущий месяц ( добавить y и будет календарь на весь текущий год).
| |
| *'''date''' отображает текущие дату и время, по системным часам ядра.
| |
| *'''oclock''' простые часы, которые висят на рабочем столе (много дополнительных параметров).
| |
| *'''finger''' отображение информации о пользователе, имя которого указано в команде.
| |
| *'''hostname''' команда отображает идентификатор данного узла сети ( его имя). root может изменить имя узла на новое.
| |
| *'''hwclock''' встроенные часы Вашего компьютера.Для изменения даты и времени и синхронизации с системными часами, необходимы привелегии root.
| |
| *'''pwd''' отображает полный путь к текущему каталогу.
| |
| *'''tzselect''' запуск утилиты, которая позволяет выбрать часовой пояс.
| |
| *'''uname''' выводит информацию об используемой операционной системе (при вводе дополнительных параметров команды , выдаёт довольно много информации).
| |
| *'''uptime''' показывает текущее время, продолжительность сеанса , количество пользователей и загруженность процессора.
| |
| *'''users''' отображает краткий список пользователей работающих в системе в данный момент.
| |
| *'''w''' подробная информация о всех пользователях, работающих в данный момент и также простой, вход в систему и др.Если нужен один пользователь, то указать имя в параметре.
| |
| *'''whatis''' поиск по базе данных страниц руководства и отображение краткого описания.
| |
| *'''who''' список пользователей работающих в системе в данный момент.
| |
| *'''whereiz''' находит файлы, страницы справочного руководства для указанной команды.
| |
| *'''which''' показывает полный путь к исполняемому файлу команды.
| |
| *'''whoami''' показывает текущий идентификатор пользователя, работающего в данном терминале.
| |
| *'''write''' отправляет сообщение другому пользователю, находящемуся в системе, путём копирования строк с терминала отправителя на терминал получателя.
| |
| *'''wall''' отправляет сообщение на терминал каждого пользователя находящегося в системе в данный момент.
| |
| *'''history''' показывает пронумерованный список команд, которые Вы выполняли в этом и предыдущем сеансе. Если в списке историии их довольно много, то увидите последние.
| |
| *'''jobs''' выводит список всех выполняемых и приостановленных задач.
| |
| *'''kill''' завершить процесс (необходимо указать какой).
| |
| *'''killall''' позволят управлять процессами используя их имена или имена файлов, а не идентификаторы как в kill. Завершаются все указанные процессы.
| |
| *'''kernelversion''' показывает основную и дополнительную версии ядра.
| |
| *'''nice''' позволяет отобразить или настроить приоритет задачи.
| |
| *'''ps''' выводит список всех работающих процессов.
| |
| *'''pstree''' показывает иерархию процессов системы, что хорошо показывает их взаимозависимость.
| |
| *'''renice''' задаёт приоритет для указанной задачи.
| |
| *'''script''' позволяет записывать весь вывод с терминала в файл.Что бы остановить запись нажмите Ctrl+d.Если имя файла не указано то записывается в typescript.
| |
| *'''times''' показывает полное время выполнения процессов для всей системы и данного пользователя.
| |
| *'''top''' запускает программу , которая позволяет управлять процессами.И ещё много дополнительной, полезной информации.
| |
| *'''cd''' смена текущего каталога.По умолчанию переходит в домашний каталог текущего пользователя (если без параметров).
| |
| *'''dir''' отображает файлы в текущем каталоге в алфавитном порядке и с учётом регистра.
| |
| *'''file''' показывает тип содержимого указанного файла(текст, выполняемый, данные).
| |
| *'''find''' поиск файлов в текущем каталоге.Если указать путь, можно искать везде.
| |
| *'''free''' отображает информацию об оперативной памяти, подкачки, кэше,свободная памать, общая и т.д.
| |
| *'''ls''' показывает все файлы в текущем каталоге в алфавитном порядке.Аналогична dir.
| |
| *'''last''' показывает список пользователей, которые заходили в систему с момента создания файла /var/log/wtmp.
| |
| *'''lastlog''' проверяет историю входа в систему зарегистрированных пользователей.Форматирует и выводит на печать файл /var/log/lastlog.
| |
| *'''logger''' посылает запрос демону syslogd с просьбой поместить сообщение в системный журнал.
| |
| *'''lpr''' отправляет документ на печать демону печати.
| |
| *'''chmod''' изменяет режим доступа к файлу.Символьный или числовой формат.
| |
| *'''chown''' смена владельца указанного файла.Требуется доступ root.
| |
| *'''chage''' применяется для изменения срока действия учетной записи.Для администрирования.
| |
| *'''chfn''' изменяет сведения о пользователе в файле /etc/passwd из которого берёт информацию команда finger .
| |
| *'''chgrp''' команда для администратора,для изменения группы владельцев файла.
| |
| *'''clear''' очищает экран терминала (если это возможно).
| |
| *'''crontab''' обеспечивает возможность выполнения определённых задач по расписанию. Чаще используется администратором, хотя свои задачи могут быть и у пользователей.
| |
| *'''csplit''' разбивает файл на несколько частей.Надо задать метод разбивки (строки и т.д.).
| |
| *'''cp''' копирует один файл в другой, или несколько файлов в каталог.
| |
| *'''dd''' копирование файла с одновременным выполнением различных, дополнительных преобразований.
| |
| *'''dc''' калькулятор.
| |
| *'''debugfs''' применяется для восстановления файловой системы (ext2,ext3) если недостаточно команды fsck.
| |
| *'''df''' показывает количество используемого и свободного дискового пространства для всех подключенных разделов файловой системы.
| |
| *'''du''' показывает количество блоков диска, занятых каждым из файлов каталога.
| |
| *'''mc''' запускает программу Midnight Commander диспетчер файлов в текстовой консоли. Напоминает MSDOS менеджеры и довольно проста и удобна в использовании.Очень много нужных и удобных функций.
| |
| *'''mkdir''' создание указанного каталога.
| |
| *'''man''' справочное руководство.
| |
| *'''mcat''' копирует необработанные данные на дискету.
| |
| *'''mcopy''' использует отформатированную дискету MSDOS для копирования файлов в Линукс и из Линукс без предварительного подключения дискеты к файловой системе.
| |
| *'''mdel''' удаляет файл на отформатированной дискете MSDOS.
| |
| *'''mdir''' отображает содержимое каталога на дискете MSDOS.
| |
| *'''mdu''' показывает дисковое пространство занятое каталогом MSDOS.
| |
| *'''mesg''' контролирует доступ к Вашему терминалу, что бы коллеги не могли засыпать Вас сообщениями с помощью команды write
| |
| *'''mformat''' создаёт на дискете файловую систему MSDOS.
| |
| *'''mkbootdisk''' применяется в некоторых дистрибутивах, для создания загрузочной дискеты, содержащей всё необходимое для аварийной загрузки.
| |
| *'''mktemp''' создаёт уникальное имя файла для временной работы.
| |
| *'''mlabel''' создаёт метку тома на MSDOS на отформатированной дискете.
| |
| *'''mmd''' создаёт подкаталог MSDOS на отформатированной дискете.
| |
| *'''mmount''' подключает к файловой системе отформатированное устройство MSDOS.
| |
| *'''mmove''' перемещает или переименовывает файл на дискете MSDOS.
| |
| *'''more''' средство постраничного просмотра текстового файла.
| |
| *'''mv''' переименовывает или перемещает файлы или каталоги.
| |
| *'''rm''' удаление указанного файла.Можно и много удалить.
| |
| *'''rmdir''' удаление указанного пустого каталога.
| |
| *'''safedelete''' удалиние указанного файла в каталог safedelete,где он хранится некоторое время перед необратимым удалением.
| |
| *'''stat''' отображение всей доступной информации об указанном файле.
| |
| *'''touch''' изменяет время последнего доступа или изменения файла на текущее время.
| |
| *'''undelete''' восстанавливает файлы удалённые командой safedelete.
| |
| *'''wc''' показывает число строк, слов и символов в файле.
| |
| *'''bunzip2''' распаковывает указанный файл на 30%быстрей чем gzip.
| |
| *'''bzip2''' сжимает указанный файл по ускоренному алгоритму.
| |
| *'''bzip2recover''' делает попытку восстановить данные из повреждённого файла сжатого bzip2.
| |
| *'''compress''' сжимает указанный файл по другому алгоритму.
| |
| *'''uncompress'''Полужирное начертание распаковывает файл сжатый предыдущей командой.
| |
| *'''cpio''' позволяет создавать архивы и извлекать из архивов файлы.Позволяет копировать файлы. Необходимо указывать соответствующие параметры.
| |
| *'''gpg''' позволяет зашифровать и расшифровать файл.Метод шифрования открытым ключом. Позволяет создавать электронные подписи.Если этой программы нет у Вас, скачайте http://www.gnupg.org
| |
| *'''gzip''' сжимает указанный файл.
| |
| *'''gunzip''' распаковывает указанный файл (расширения .Z,.gz,.tgz,.zip ).
| |
| *'''gzexe''' позволяет сжать исполняемый файл с указанным именем так, что бы он автоматически распаковывался и выполнялся, когда пользователь даёт команду на выполнение сжатого файла.
| |
| *'''gpasswd''' устанавливает пароль группы.
| |
| *'''mcrypt''' Шифрует указанный файл.Создаётся новый файл в рабочем каталоге с расширением .enc. Вам будет предложено ввести пароль.Не забудьте его.
| |
| *'''mdecrypt''' расшифровывает это же файл.Если этих утилит нет, скачайте http://mcrypt/hellug.grl
| |
| *'''tar''' помещает два и более файлов в новый или существующий архив или извлекает их из архива.При задании каталога, заархивирует все файлы в каталоге и подкаталоге.
| |
| *'''talk''' позволяет вести интерактивный диалог с пользователем сети ИНТЕРНЕТ.
| |
| *'''tee''' отсылет выходные данные на два устройства вывода.Можно одновременно вывести на экран и в файл.
| |
| *'''toe''' выдаёт сведения о существующих терминалах, которые могут быть использованы для дальнейшей работы.
| |
| *'''touch''' изменяет время создания файла на текущее.Если файл не существует, то создаёт новый, пустой файл.
| |
| *'''unarj''' распаковывает или выводит список содержимого указанного архива в формате .ARJ(формат сжатия MS DOS).
| |
| *'''unzip''' распаковывает и извлекает файлы из архивов , созданных утилитами ZIP ( Linux,MS DOS,Microsoft Windows ).
| |
| *'''zip''' архивирует и сжимает файлы.
| |
| *'''zipinfo''' отображает информацию о содержимом архива.Если указать имя, то выдаст информацию о конкретном файле.
| |
| *'''zipnote''' позволяет вывести и отредактировать комментарии к файлам из архива ZIP.
| |
| *'''zipsplit''' позволяет разделить архив zip на достаточно маленькие части, для записи их на сменные носители, и записывает файлы на указанное устройство(дискеты).
| |
| *'''zforce''' добавляет расширение .gz ко всем файлам в рабочем каталоге, или к указанному файлу, которые были сжаты, но не имеют расширения.Т.е. предотвращает повторное сжатие.
| |
| *'''uuencode''' кодирует двоичный файл для передачи по ASC11сетям.
| |
| *'''uudecode''' декодирует выше названный файл.
| |
| *'''autorun''' автоматически распознаёт все доступные приводы CDROM в системе, монтирует их при вставке диска и может запускать отдельные приложения (например проигрыватель).Для использования, необходимо добавить параметры в файл привода.
| |
| *'''badblocks''' проверить указанное устройство на наличие повреждённых секторов (указать устройство).
| |
| *'''eject''' извлекает носитель из указанного устройства.Если устройство смонтировано то команда производит размонтирование перед извлечением носителя.
| |
| *'''e2fsck''' проверяет и при необходимости восстанавливает повреждённый том файловой системы (ext2,ext3).
| |
| *'''echo''' выводит строку текста на стандартное устройство вывода.
| |
| *'''fdformat''' форматирование гибкого диска.Дополнительно вводится имя устройства и необходимый вид форматирования.
| |
| *'''fg''' переводит процесс выполняемый в фоновом режиме в приоритетный режим.
| |
| *'''fgconsole''' показывает количество активных виртуальных консолей.
| |
| *'''fsck''' проверяет и восстанавливает файловую систему.
| |
| *'''mount''' монтирование файловой системы.
| |
| *'''umount''' отмонтирование файловой системы (в обоих командах необходимо указать, что именно).
| |
| *'''rdev''' при вызове без параметров выводит информацию о текущей файловой системе.
| |
| *'''rcp''' применяется для копирования файлов с одного компьютера на другой.
| |
| *'''rdate''' получает значение даты и времени от другого узла сети.Используется для синхронизации системного времени узлов.
| |
| *'''rename''' переименовывает файлы.Очень удобно, когда много файлов.
| |
| *'''resize''' изменяет размер окна виртуального терминала в графическом окружении.
| |
| *'''restore''' восстанавливает файлы заархивированные с помощью команды dump.
| |
| *'''runlevel''' отображает текущий и предыдущий уровни выполнения.
| |
| *'''shred''' выполняет безопасное удаление файла предварительно перезаписав его содержимое на другой диск.
| |
| *'''sleep''' приостанавливает начало выполнения процесса на заданное количество секунд.
| |
| *'''usleep''' приостанавливает на микросекунды.
| |
| *'''sync''' очищает буферы файловой системы.
| |
| *'''cmp''' производит быстрое сравнение двух указанных файлов.Если они идентичны, то никакие сообщения не выводятся.
| |
| *'''column''' форматирует входной текст из указанного файла в список из пяти колонок.
| |
| *'''diff''' сравнивает два указанных текстовых файла.Каждое отличие выводится в контексте. Позволяет сравнивать каталоги.
| |
| *'''diff3''' сравнивает три указанных файла и выводит результаты.
| |
| *'''enscript''' преобразует указанный текстовый файл в формат Post Script.Вывод может быть направлен на печать или записан в файл.
| |
| *'''fmt''' данная утилита производит форматирование каждой строки в указанном файле таким образом, что все строки имеют одинаковую ширину.
| |
| *'''head''' утилита выводит первые десять строк файла.Можно и несколько файлов.
| |
| *'''ispell''' запуск интерактивной утилиты для проверки орфографии в указанном файле.
| |
| *'''id''' отображает действующие значения идентификаторов пользователя и группы для текущего пользователя.
| |
| *'''ifconfig''' отображает состояние текущей конфигурации сети или настраивает сетевой интерфейс.
| |
| *'''less''' отображает содержимое указанного файла на экране и позволяет удобно просмотреть.
| |
| *'''nl''' команда нумерует строки в указанном файле.
| |
| *'''paste''' обьединяет соответствующие строки файлов в колонки.При желании можно обьединить несколько файлов.
| |
| *'''pdf2ps''' преобразует файл формата PDF в Post Script.Результат записывает на диск.
| |
| *'''pdftotext''' преобразует файл из формата PDF в текст и записывает результат на диск.
| |
| *'''pr''' подготавливает текст к печати, осуществляя форматирование с разбиением на страницы.Можно подготовить несколько файлов.
| |
| *'''sort''' команда позволяет отсортировать строки файла в алфавитном порядке.
| |
| *'''split''' разбивает файл на части.
| |
| *'''zcat;zmore''' выводит содержимое файла сжатого gzip на экран без распаковки.
| |
| *'''zcmp''' сравнивает сжатые gzip два файла без распаковки.
| |
| *'''zdiff''' сравнивает сжатые gzip два файла без распаковки.
| |
| *'''zegrep;zfgrep;zgrep''' осуществляют поиск указанной строки, выражения в файле сжатом gzip, без распаковки.
| |
| *'''aumix''' запускает в интерактивном режиме утилиту, которая управляет различными настройками звуковой карты.
| |
| *'''cdda2wav''' утилита предназначена для записи звуковых дорожек с аудиокомпакт диска в файлы формата WAV.Если имя файла не указано, то запись идёт в файл audio.wav в текущем каталоге.
| |
| *'''cdlabelgen''' команда предназначена для подготовки обложек к коробкам компакт дисков. Результат в файле формата Post Script.Требуется наличие интерпретатора языка Perl не ниже 5.003 версии.
| |
| *'''cdp''' запуск проигрывателя аудиокомпакт дисков в текстовом режиме.
| |
| *'''cdparanoia''' считывает звуковые дорожки с аудиокомпактов и записывает в файлы WAV,AIFF,RAW.
| |
| *'''combine''' обьединяет два и более графических файла в один.Огромное количество спецэффектов.Является частью пакета Image Magick и можно взять http://www.imagemagick.org
| |
| *'''convert''' преобразует указанный входной графический файл, в выходной.Распознаёт множество форматов. Скачать так же как и предидущую.
| |
| *'''identify''' определяет формат и характеристики графического файла и проверяет целостность и наличие ошибок.
| |
| *'''mogrify''' преобразует графический файл и перезаписывает исходный.
| |
| *'''montage''' преобразование нескольких файлов в обьединённое изображение.Скачать http://www.imagemagick.org
| |
| *'''mpg123''' воспроизводит на основном устройстве воспроизведения аудио файл в формате MP3. Вписывается имя файла или его адрес в Интернет.Чтобы остановить воспроизведение Ctrl+c.Что бы остановить и выйти из программы Ctrl+c нажать дважды.
| |
| *'''play''' воспроизводит звуковой файл с указанным именем.Автоматически распознаёт тип файла. Позволяет добавлять различные звуковые эффекты к воспроизводимым файлам.
| |
| *'''playmidi''' воспроизводит зуковые файлы в формате MIDI.
| |
| *'''rec''' записывает входной сигнал с микрофона или других входов в звуковой файл. Тип файла следует указать с помощью параметра (type).Есть возможность добавить звуковые эффекты.
| |
| *'''sox''' преобразует сэмплы из формата входного сигнала, на выходной с добавлением эффектов.
| |
| *'''emacs''' запуск текстового редактора Emacs.
| |
| *'''joe''' простой в использовании редактор работающий в текстовом режиме.
| |
| *'''pico''' простой и удобный в использовании текстовый редактор.Удобен для редактирования конфигурационных и простых файлов.
| |
| *'''vi''' запуск классического текстового редактора VI для UNIX систем.
| |
| *'''dmesg''' выводит на экран сообщения ядра, включая отображаемые при запуске и потом. Что бы удобней читать, вводите dmesg|less.
| |
| *'''groupadd''' создание группы пользователей с указанным именем.
| |
| *'''groupdel''' удаляет группу с указанным именем.
| |
| *'''groupmod''' изменяет параметры группы с указанным именем.
| |
| *'''mkpasswd''' создаёт высококачественный пароль, состоящий по умолчанию из девяти символов и содержащий по крайней мере буквы в разном регистре и цифры.
| |
| *'''passwd''' позволяет пользователю с указанным именем изменять пароль своей учётной записи. root может изменить пароль любого пользователя.
| |
| *'''pwgen''' создаёт высококачественный пароль,который хорошо запоминается.Длинна пароля указывается числом. Если этой утилиты нет, скачать http://metalab.unc.edu/pub/Linux/system/security
| |
| *'''quota''' показывает текущую статистику использования диска и текущие ограничения для пользователя или группы с указанным именем.
| |
| *'''quotacheck''' исследует файловую систему на предмет использования дискового пространства.
| |
| *'''quotaon''' включает и отключает ограничения на использование дискового пространства.
| |
| *'''rpm''' запускает менеджер пакетов, утилиту,позволяющую устанавливать , проверять и обновлять пакеты с расширением rpm.
| |
| *'''rpmfind''' поиск нужного пакета в базе пакетов RPM через ИНТЕРНЕТ.Последняя версия утилиты http://www.rpm.org
| |
| *'''tmpwatch''' удаление всех файлов в указанном каталоге, если к ним не осуществлялся доступ в течении последних n часов.Очищает временные каталоги.
| |
| *'''useradd''' создание нового пользователя с указанным именем.
| |
| *'''userdel''' удаляет пользователя с указанным именем.
| |
| *'''usermod''' изменяет параметры пользователя с указанным именем.
| |
| *'''fetchmail''' утилита получения почты.Роботает в фоновом режиме.Скачивает почту с указанного сервера. Если её нет, скачать можно http://www.freshmeat.net
| |
| *'''ftp''' устанавливает соединение с указанным узлом и позволяет скачивать или закачивать файлы.
| |
| *'''lynx''' запуск консольного WEBброузера.
| |
| *'''mail''' утилита редактирования и просмотра электронной почты.Отправка и получение писем.
| |
| *'''netstat''' вывод информации о сетевой подсистеме.Очень много настроек и параметров.
| |
| *'''ping''' отправка на указанный адрес пакетов для проверки возможности соединения с этим узлом.
| |
| *'''telnet''' открывает окно терминала на удалённом узле и запускает интерактивный сеанс.
| |
| *'''wvdia'''l программа подключается к ИНТЕРНЕТ по протоколу PPP с использованием параметров, хранящихся в файле /etc/wvdial.conf
| |
| *'''wvdialconf''' осуществляет поиск модема, определяет порт, к которому он подключен, его строку инициализации и максимальную скорость передачи данных.Эта информация автоматически записывается в файл (смотри выше).Требуется доступ root.
| |
| *'''ar''' средство архивирования, предназначено для создания и распаковки архива.
| |
| *'''arch''' отображает данные об архитектуре центрального процессора.
| |
| *'''at''' ставит задания в очередь для последующего выполнения в указанное время.
| |
| *'''atq''' показывает список заданий которые поставлены в очередь на выполнение.
| |
|
| |
|
| == Консольные команды. Часть 5, управляем файлами-пакетами deb в консоли. ==
| | Мною была поставлена задача что бы на моем сервере под руководством Proxmox с пулом сайтов работала без проблем прозрачная маршрутизация между посетителем и конечным сайтом. Т.к. в инете полно мануалов по базовой настройке Haproxy я столкнулся с проблемой что 99% этих статей описывают работ прокси сервера в режиме терминации а дальше информация идет по не защищенному варианту (от прокси до конечной ВМ). Меня это не устроило и я начал искать по крупицам информацию в сети. К сожалению в нашем русскоязычном сегменте ее мало (читай нет) пришлось шерстить буржуйский сегмент. Конечный результат предлагаю вашему вниманию, думаю кому ни будь он точно сгодится. |
|
| |
|
| Приведу примеры использования утилит dpkg и apt отвечающих за управления пакетами в системах семейства Debian.
| | <syntaxhighlight lang="shell" line='line'> |
| | global |
| | log /dev/log local0 |
| | log /dev/log local1 notice |
| | stats socket /haproxy-admin.sock mode 660 level admin |
| | stats timeout 30s |
| | daemon |
| | defaults |
| | maxconn 2000 |
| | mode http |
| | log global |
| | option dontlognull # bind *:443 ssl crt . |
| | option http-server-close |
| | timeout http-request 10s |
| | timeout connect 5000 |
| | timeout client 50000 |
| | timeout server 50000 |
| | frontend stats |
| | bind *:5000 |
| | stats enable |
| | stats uri /stats |
| | stats refresh 10s |
| | stats auth admin:mysupersecretpassword #поменяйте на свой пароль |
| | </syntaxhighlight> |
| | Блок отвечающий за работу ssl на ssl |
| | <syntaxhighlight lang="shell" line='line'> |
| | frontend env_ssl_frontend |
| | bind *:443 |
| | mode tcp |
| | option tcplog |
| | tcp-request inspect-delay 10s |
| | tcp-request content accept if { req_ssl_hello_type 1 } |
| | use_backend bk_app1 if { req.ssl_sni -m end site1.ru } |
| | use_backend bk_app2 if { req.ssl_sni -m end counter.site1.ru } |
| | use_backend bk_app3 if { req.ssl_sni -m end site2.com } |
| | use_backend bk_app4 if { req.ssl_sni -m end site3.msk.ru } |
| | use_backend bk_app5 if { req.ssl_sni -m end site4.ru } |
| | use_backend bk_app6 if { req.ssl_sni -m end site5.msk.ru } |
|
| |
|
| '''DPKGdpkg -i имя_пакета '''установит или обновит ранее установленный пакет.
| | backend bk_app1 |
| '''dpkg -r имя_пакета''' удалит ранее установленный пакет, но сохранит файл конфигурации.
| | mode tcp |
| '''dpkg -l '''отобразит список всех установленных пакетов.
| | balance leastconn |
| '''dpkg -l | grep tux '''отобразит список всех установленных пакетов с именем "tux".
| | option tcp-check |
| '''dpkg -s имя_пакета''' имя_пакета отобразит информацию по конкретному пакету.
| | server main 192.168.1.26:443 send-proxy check |
| '''dpkg -P у '''удалит ранее установленный пакет и удалит файл конфигурации.
| |
|
| |
|
| '''APTapt-get install имя_пакета '''установит пакет.
| | backend bk_app2 |
| '''apt-get update '''получить список пакетов доступных для обновления.
| | mode tcp |
| '''apt-get upgrade '''обновит все установленные пакеты.
| | balance leastconn |
| '''apt-get remove имя_пакета '''удалит пакет.
| | option tcp-check |
| '''apt-get check '''поможет узнать о конфликтующих пакетов, а также поломанных зависимостях пакетов .
| | server main 192.168.1.38:443 send-proxy check |
| '''apt-get -f install''' исправит выявлены нарушенные зависимости.
| |
|
| |
|
| '''Вам могут быть полезны следующие опции:
| | backend bk_app3 |
| '''apt-get -h''' справка
| | mode tcp |
| '''apt-get -d''' только загрузить - не устанавливать и не распаковывать архивы
| | balance leastconn |
| '''apt-get -s''' ничего не делать, имитировать выполнение
| | option tcp-check |
| '''apt-get -y '''предполагается ответ Yes на все вопросы, сами вопросы не выводить
| | server main 192.168.1.37:443 send-proxy check |
| '''apt-get -f''' продолжать, даже если проверка целостности не удачна
| |
| '''apt-get -u''' плюс ко всему показывать список обновленных пакетов
| |
|
| |
|
| Скачанные из сети файлы помещаются в каталог '''/var/cache/apt/archives''' их всегда можно найти и удалить используя команду
| | backend bk_app4 |
| '''apt-get clean'''
| | mode tcp |
| | balance leastconn |
| | option tcp-check |
| | server main 192.168.1.100:443 check |
|
| |
|
| == Изучаем CronTab. ==
| | backend bk_app5 |
| '''CronTab''' – это утилита позволяющая в определенный день и час '''автоматически запускать''' различные программы или скрипты. Согласитесь, очень удобно.
| | mode tcp |
| | balance leastconn |
| | option tcp-check |
| | server main 192.168.1.31:443 send-proxy check |
|
| |
|
| Структура файла с заданиями для '''CronTab.'''
| | backend bk_app6 |
| | balance leastconn |
| | mode tcp |
| | option tcp-check |
| | server main 192.168.1.200:443 check |
| | </syntaxhighlight> |
| | Блок отвечающий за работу сайтов на 80 порту |
| | <syntaxhighlight lang="shell" line='line'> |
| | frontend public |
| | bind *:80 |
|
| |
|
| * <nowiki>* * * * command</nowiki>
| | # бок сайтов |
| * - - - - -
| | acl host_subdomain1 hdr(host) -i site1.ru |
| * | | | | |
| | acl host_subdomain2 hdr(host) -i counter.site1.ru |
| * | | | | +----- День недели (0 - 6) (Sunday=0)
| | acl host_subdomain3 hdr(host) -i site2.com |
| * | | | +------- Месяц года (1 — 12)
| | acl host_subdomain4 hdr(host) -i site3.msk.ru |
| * | | +--------- День месяца (1 — 31)
| | acl host_subdomain5 hdr(host) -i site4.ru |
| * | +----------- Час дня запуска (0 — 23)
| | acl host_subdomain6 hdr(host) -i site5.msk.ru |
| * +------------- Минута часа для запуска (0 - 59)
| | ## блок acl |
| | use_backend subdomain1 if host_subdomain1 |
| | use_backend subdomain2 if host_subdomain2 |
| | use_backend subdomain3 if host_subdomain3 |
| | use_backend subdomain4 if host_subdomain4 |
| | use_backend subdomain5 if host_subdomain5 |
| | use_backend subdomain6 if host_subdomain6 |
|
| |
|
| command запускаемая программа или скрипт.
| | backend subdomain1 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-1 192.168.1.26:80 check |
|
| |
|
| Значок * задаёт параметр (день, год, месяц, час).
| | backend subdomain2 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-2 192.168.1.37:80 check |
|
| |
|
| '''Пример'''
| | backend subdomain3 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-3 192.168.1.31:80 check |
|
| |
|
| '''01 * * * * command''' запуск программы или скрипта каждый час в одну минуту.
| | backend subdomain4 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-4 192.168.1.100:80 check |
|
| |
|
| '''<nowiki>* 6 * * * command</nowiki>''' запуск программы или скрипта каждый день в 6 часов утра.
| | backend subdomain5 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-5 192.168.1.200:80 check |
|
| |
|
| Значения могут быть числом, трех-буквенным названием, а так же диапазоном например запись «1-5» в поле day будет означать «с понедельника по пятницу». Значения могут отделяться запятыми: «1,15,31» в поле day будет запускать указанную команду 1-го, 15-го и 31-го числа каждого месяца.
| | backend subdomain6 |
| | option httpclose |
| | option forwardfor |
| | cookie JSESSIONID prefix |
| | server subdomain-6 192.168.1.38:80 check |
| | </syntaxhighlight> |
| | Что мы получили в итоге: |
|
| |
|
| Все пять полей времени допускают использование символа звездочка – «*», который обозначает «использовать любое допустимое значение» для этого поля.
| | Генерация ssl сертификатов происходит на каждом сайте отдельно. Терминации на прокси сервере нет, идет прозрачное перенаправление на конечную машину которая и отдает посетителю свой ssl сертификат. |
| | Проблем с Яндексом и его роботом дятлом (который мониторит сайт на доступность) не имеем. |
| | Имеем быстрый и корректный отклик конечной машины для посетителей и поисковиков. |
| | В качестве небольшого бонуса, имеем страничку с статистикой работы прокси сервера и сайтов которые он обслуживает. Для этого перейдите на ip (например у меня 192.168.1.150:5000) на котором он работает с портом 5000 и наслаждайтесь. Логин admin а пароль который вы сами установили в верхней секции этого конфига. |
|
| |
|
| '''Для создания задания используйте ниже приведённые команды:'''
| | * Отдельно хочу сделать замечание касаемо этого файла конфигурации Haproxy. |
|
| |
|
| '''crontab -e''' Изменит Ваш crontab файл или создаст новый.
| | Весьма вероятно, что когда вы добавите в свой пул сайтов на PROXMOKS-e еще N кол-во виртуальных машин и вам понадобится получить сертификат с Letsencrypt, у вас может не получится это, тк Haproxy не сможет корректно отработать запрос и от вашей машины и к вашей машине. |
| '''crontab -l''' Отобразит содержимое существующего crontab файла.
| | В таком случае (под диванного сервера) сделайте выход c роутера (или что там у вас) проброс портов на новую ВМ, хотя бы 80 порт и после получения сертификата верните обратно. По крайней мере я так вышел из этой ситуации. Подробнее о проблеме описано по ссылке |
| '''crontab -r''' Удалит Ваш crontab файл.
| |
| '''crontab -v''' Отобразит когда в последний раз Вы изменяли свой crontab файла.
| |
|
| |
|
| '''Сложно работать с консольным редактором?'''Правьте файлы привычным текстовым редактором... Например используйте Gedit.
| |
|
| |
|
| '''Файлы с заданиями можно найти тут:'''/usr/lib/cronОсновной каталог команд, связанных со временем./usr/spool/cron/crontabsКаталог файлов регулярных действий./usr/lib/cron/logУчетная информация./usr/lib/cron/cron.allowСписок пользователей, которым разрешено выполнять команду crontab./usr/lib/cron/cron.denyСписок пользователей, которым запрещено выполнять команду crontab.
| | Как всегда, приветствуются конструктивные предложения и замечания. |
|
| |
|
| '''hwclock''' - посмотреть время в БИОС
| | Всем успехов! |
| '''/etc/adjtime''' - показывает отклонение часов и какое время они показывают, локальное или UTC
| | |
| '''/etc/timezone файл''' - используется для установки переменной окружения
| | |
| '''etc/sysconfig/clock''' -
| | PS Сам реверс прокси у меня поднят и прекрасно себя чувствует на Ubuntu 18.04 которая идет в шаблонах Proxmox-a. По началу я его запускал в режиме полноценной виртуалки но это решение себя не оправдало тк потребляло изрядную процессорную и прочие ресурсы хост машины. С переводом прокси сервера на LXC контейнер потребление по ресурсам упало почти до пары единиц процентов ресурсов хост машины и можно сказать что ничего не потребляет. |
| '''sudo dpkg-reconfigure tzdata''' - установка часового пояса
| | |
| '''date 110114312011.00''' - 11-месяц-01-день14-час31-минуты-2011-год.00-секунды - системное время
| | * [https://habr.com/ru/post/540212/ взято тут] |
| '''sudo hwclock -w''' - записать системное время в БИОС
| |