До недавних дней, процедура изменения типа инстанса или добавления гигабайт на ваш жесткий диск через консоль AWS было проблемой, чреватой создания копии инстанса, его конфигурацией и подменой оригинального на копию, с переназначением Elastic IP.
Расскажу, как это сделать гораздо быстрее и безопаснее.
Изменяем тип инстанса EC2
Например, если вам понадобились дополнительные мощности и вы готовы к переходу на более производительный сервер
В разделе EC2 переходим в под-раздел Instances
Останавливаем целевой инстанс — выбираем инстанс и затем нажимаем Actions — Instance State — Stop
Как только сервер будет остановлен изменяем его тип: Actions — Instance Settings — Change Instance Type
Выбираем необходимый тип и подтверждаем выбор — Apply
Стартуем измененный инстанс: Actions — Instance State — Start
Таким образом, можно изменять мощность как в большую сторону, так и в меньшую
Изменяем размер жестного диска EBS
В разделе EC2 переходим в подраздел Elastic Block Store — Volumes
Выбираем именно тот Volume (жесткий диск) который нам необходим — идентифицируем его или по тегам, которые мы составляли при добавления Volume к нашему серверу при создании или же по столбцу Attachment information
Далее: Actions — Modify Volume
Устанавливаем новый размер хранилища Size и, затем, Modify
Так мы увеличили размер хранилища. Осталось внести изменения в системе, для расширения основного раздела жесткого диска.
Далее инструкция будет для Linux (CentOS в частности, а для других систем можно обратиться к официальной документации)
Соединяемся с сервером по SSH. Затем получаем рут права
$ sudo su
Выводим список блоков хранения, прикрепленных к серверу
# lsblk
Обычно, основной блок имеет имя nvme0n1, закидываем на него не привязанную память
# growpart /dev/nvme0n1 1
Удостоверяемся что память привязана
# lsblk
Говорим файловой системе, что можно использовать эту новую память. Выводим список разделов
# df -h
И применяем изменения к основному разделу (чаще всего это /dev/nvme0n1p1)
# sudo resize2fs /dev/nvme0n1p1
Удостоверимся, что изменения произошли успешно
# df -h
Готово! При этом, перезагрузка сервера не требуется.
Вполне возможно, можем столкнуться с нехваткой оперативной памяти для выполнения какого то процесса на нашем сервере. Если такое случается постоянно — возможно следует подумать о расширении сервера — в плане RAM.
Но, предположим, что нам, только иногда, нужно чуть больше оперативной памяти, например для сборки jenkins, раз в день. И, при этом, вы видим ошибку вида
Cannot allocate memory
Которая не дает окончить желаемое действие.
В этом случае, на помощь приходит файл подкачки, swap file, который становится, своего рода продолжением оперативной памяти. При этом он хранится и потребляет память жесткого диска. А он, как известно, заметно дешевле RAM.
Итак, прежде всего, нужно проверить, имеем ли мы свободное место на HDD
$ sudo su
# df -h
В нашем случае, свободно 55 гигабайт из 59-ти.
Так же, давайте, проверим не создавали ли файла подкачки ранее
# swapon -s
Если вывод пустой — значит не создавали
Создадим файл подкачки на 1 Гигабайт (если необходимо больше — выставляем большее значение вместо выделенной цифры 1024 мб)
# dd if=/dev/zero of=/swapfile count=1024 bs=1MiB
Проверяем результат
# ls -lh /swapfile
Изменим режим доступа для файла — мера безопасности
# chmod 600 /swapfile
Теперь, активируем его
# mkswap /swapfile
# swapon /swapfile
Проверяем, что система видит его
# swapon -s
Однако, после перезагрузки он исчезнет, если не добавить его в загрузку
Дочитав книгу, хотел обобщить и поделиться впечатлениями о ней.
MBA — Магистр делового администрирования.
Начну с того, что на эту книгу ссылается не один именитый автор в мотивационных, бизнес- и инвестиционных материалах. Плюс ко всему, c понятием MBA связаны знания и навыки, которые увеличивают значимость менеджера на порядки. Так же увеличивая размер вознаграждения. Это, своего рода, элита в мире менеджеров средних и высоких звеньев. Крупные компании вкладывают очень большие деньги (10тки и 100тни тыс долларов на человека), отправляя своих самых перспективных работников на программы обучения в ведущие школы.
Почему так дорого. В интернете вы не найдете внятного объяснения. Все статьи сводятся к «воде»: что это престижно, что зарплата вырастает в разы, что это может быть требованием у работодателя. Но понять почему, можно прочитав эту книгу:
Знания, которые тут дают, не оторваны от реальности, они часто пересматриваются и актуализируются
Преподаватели таких школ и курсов, входящих в программу, часто очень известные личности, менеджеры известных компаний, авторы бестселлеров
Сам учебный процесс может быть дорогим, за счет того, что учеников вывозят на крупные предприятия в разные страны, чтобы воочию продемонстрировать реальную атмосферу анализируемых объектов
Ученик находится в окружении других перспективных студентов — полезные контакты. Причем, бизнес-школы стараются интернационализировать состав своих групп
есть и другие факторы, пункты выше — это айсберг
Прочитав данную книгу (за те же 10 дней), вы, конечно, не станете обладателем всех знаний, которые получают будущие MBA за 2-4 года, но сможете прочувствовать атмосферу, понять как думают выпускники MBA-школ и, самое главное, ознакомиться с основными инструментами, которыми оперируют магистры делового администрирования. Причем это происходит на примерах (большинство — реальных) существующих компаний.
Автор книги делает свою работу очень умело. Хотя некоторые вещи не просты в понимании, так как охватываются множество сфер экономической, политической, финансовой, нравственной, информационной и других. Собственно, разделы книги поделены на эти сферы.
День 1 — Маркетинг
В этом разделе учат разбираться в своих покупателях или клиентах. Анализируем процесс покупки, раскладывая его на этапы. Изучаем свой продукт и формирование его цены. А так же формируем стратегию маркетинга как это делают MBA.
День 2 — Этика
Наиболее молодой, ранее недооцениваемый, раздел. Менеджеры крупных звеньев обладают очень большой ответственностью, которую нужно понимать и учитывать при принятии своих решений. Так же необходимо разобраться с приоритетами, ради кого создавалась организация и чьи интересы отстаивает в первую очередь.
День 3 — Бухгалтерский учет
Финансовые отчеты — очень важный источник информации о компании. В этом разделе рассматриваются ключевые понятия и самые важные характеристики для понимания чем владеет компания, сколько и кому она должна, насколько эффективны ее операции и как происходит само-финансирование компании
День 4 — Организационное поведение
Не являясь лидером, авторитетом и человеком с харизмой, MBA вряд ли сможет эффективно продвигать свои идеи и улучшать процессы в компании. Поэтому данная глава и задает направление развития менеджера как сильной личности. Личности, которая разбирается в текущих процессах на предприятии и находит подход к коллегам с разными психологическими типами
День 5 — Количественный анализ
Который позволяет принимать сложные решения (например, бурить нефтяную скважину в этом конкретном перспективном месте или нет) не только на основе интуиции и советов, но с помощью математически-обоснованного аппарата. Который включает схемы, диаграммы с формулами и вероятностными распределениями
День 6 — Финансы
Эта глава мне интересна так же по тому, что интересуюсь разными аспектами инвестирования сбережений. А с точки зрения компаний — жизненно важно поддерживать свое финансовое состояние, посредством инвестиционной деятельности
День 7 — Управление операциями
Планирование производственных операций, оптимальное распределение ресурсов и производственных мощностей, управление рабочими кадрами, запасами товаров, качеством продукта — некоторые из аспектов, рассматриваемых в данной главе
День 8 — Экономика
Основы микроэкономики и макроэкономики в призме влияния на деятельность гипотетического предприятия
День 9 — Стратегия
Обретенные ранее знания (Главы 1 — 8) применяются для выработки общего курса предприятия не только для выживания, но и для развития в конкурентном мире. Рассматриваются различные теории и практические подходы.
День 10 — Мини-курсы в программе MBA
Кратко описываются чуть менее масштабные, но не менее важные вопросы, которые помогут выпускнику бизнес-школы решать задачи предприятия или достигать своих личных целей
Еще, от себя…
На что еще хочу обратить внимание по этой книге, это на то, что автор не забывается слишком глубоким и сложным погружением в детали, так как каждый раздел — это целые науки, но формирует опоры, которые, в случае необходимости, помогут найти детальную информацию.
Очень важно, что автор, нативно, делает акцент на термины, которыми оперируют MBA в своей деловой лексике.
Предположим у нас есть сконфигурированный сервер, готовый к запуску веб-сайта (для Caddy, Nginx и Apache настраивали ранее) и так же git репозиторий (GitHub или Bitbucket) c кодом, который нужно «деплоить» в подготовленную директорию для сайта.
В данной статье будем использовать метод аутентификации на Git с помощью публичного SSH ключа.
Установим git, если ранее он не был установлен
$ sudo yum install git -y
Далее, сгенерируем SSH ключи, получаем root-права
$ sudo su
На целевом сервере переходим в домашнюю директорию
# cd ~/.ssh
И проверяем есть ли пара файлов с именем id_dsa — выводим список всех файлов в директории
# ls
Если их нету — необходимо сгенерировать. Команда для генерации ключей
# ssh-keygen -t rsa
Оставляем имя по-умолчанию (id_dsa), далее, система попросит ввести passphrase (оставляем пустым) и повторить ввод passphrase (тоже пустое)
В результате, в папке .ssh (внутри домашней директории) будет создана пара ключей — приватный и публичный (который с расширением .pub)
Распечатываем его (в нашем примере имя — gitkey.pub)
# cat ~/.ssh/id_dsa.pub
И копируем содержимое в буфер обмена для сохранения в настройках аутентификации репозитория по SSH
Давайте рассмотрим этот процесс на примере Bitbucket
Выбираем репозиторий на сайте Bitbucket, затем Repository settings — Access keys и жмем кнопку Add key
Label — даем название ключу
Key — вставляем наш публичный ключ из буфера и сохраняем — Add key
Возвращаемся к серверу, переходим к папке с проектами
# cd /var/www
И клонируем код из репозитория (в нашем примере имя репозитория domain-project) в рабочую папку для проекта (в нашем примере это папка domain-web)
Чтобы выписать сертификат, letsencrypt проверяет принадлежит ли вам домен, и делает это с помощью временных файлов, которые генерирует на сервере и проверяет их доступность
Так же нам понадобится комбинированный сертификат — cert + dhparam, который мы генерировали ранее (не забываем поменять your-domain.com на ваш домен в путях ниже)
Бонус: если вы внесли изменения в код проекта и слили в репозиторий, теперь очень просто подтянуть изменения на сервере. Примерный подход будет выглядеть так
Заходим под рутом
$ sudo su
Переходим в папку проекта
# cd /var/www/your-project-name
Переключаемся на мастер-ветку
# git checkout .
# git reset
Следующий шаг опциональный — не рекомендуется делать, если у вас не добавлены в гит-игнор все ресурсы, который могут на сервере отличаться от локальной машины (например папки vendor или uploads). Тут очищаются все файлы, которые не входят в структуру репозитория
Установка Apache, в том числе, создает папку для ваших проектов
/var/www
и системного пользователя apache c группой apache
Давайте еще создадим и сконфигурируем веб-сайт.
В предыдущей статье рассказывалось как искать, приобретать и настраивать доменное имя. Предположим мы обладаем именем domain.com, наш проект назовем «domain» и разместим его на сервере.
Итак, чтобы иметь возможность редактировать файлы конфигураций
$ sudo su
Создадим папку для нашего проекта
# mkdir /var/www/domain/
и простую тестовую страницу
# nano index.html
(введите тут любой приветственный текст, сохраните CTRL+O и выйдите из режима редактирования CTRL+X)
И применим необходимые права
# chown -R apache:apache /var/www/domain/
Переходим в директорию конфига нашего веб-сервера
# cd /etc/httpd/conf.d
Создаем и открываем для редактирования конфиг для нашего сайта
Это бонусная статья из цикла «Устанавливаем и конфигурируем блог на WordPress». Ранее настраивали хостинг для нашего домена, выбирали доменное имя и проводили установку вордпресс и создавали первую статью с сео-оптимизацией.
Так как, мы хотим понимать, посещают ли наш блог, какие страницы интересны пользователям, с каких стран и так далее, то необходимо приложить небольшие усилия, чтобы настроить аналитику.
Напоминаю, что плагин All In One SEO Pack добавляет код отслеживания на ваш блог и нужно только ввести Идентификатор отслеживания в соответствовавшем поле
Итак, если у вас нету гугл-акканта (email в зоне @gmail.com) — регистрируем по адресу
Попадая в административную панель блога на вордпресс мы сразу же хотим создать свою первую статью. Я решил попробовать с приветственного слова.
Но, сперва, стоит внести простейшие изменения, чтобы ваш блог с первой статьей не был «Очередной сайт на WordPress»
Переходим в Настройки и вводим Заголовок вот какой нам понравится, и заполняем другие поля актуальными данными и сохраняем.
В разделе Страниц нам необходимо или же отредактировать единственную там опубликованные страницу (обычно там размещается информация об авторе блога или его компании) или же удалить ее.
Затем, в разделе Записи, выбираем первую статью, сгенерированную системой, нажимаем Изменить и описываем, например, что сподвигло вас начать вести этот блог. Сохраняем изменения и публикуем статью (совет: чаще сохранять изменения). Любуемся результатами.
По большему счету это все, если вы ведете блог только для себя или своей души. В противном же случае, желательно, провести, хотя бы минимальные работы по сео-оптимизации.
Рекомендую поставить plugin All In One SEO Pack, один из «топовых» расширений для WordPress по данной тематике (весь необходимый нам функционал размещен в бесплатной версии). Итак, заходим в раздел Плагины, нажимаем на кнопку Добавить новый и в строке поиска вводим «All In One SEO Pack»
Искомый плагин будет первым в списке, и в его карточке нажимаем кнопку Установить.
После этого, возвращаемся в раздел Плагины и для нашего плагина нажимает Активировать для его «включения».
Перейдем к общим настройкам SEO — там же нажимаем, соответсвенно, Настройки SEO.
Большинство настроек уже хорошо смотрятся со значениями по умолчанию. Стоит обратить внимание на следующие, отредактировав их:
Описание дом. страницы — указываем чуть более развернутое описание
Google Analytics ID — да-да, тут необходимо создать счетчик для гугл аналитики. Делается это несложно — процесс описан в одной из следующих статей (ссылка)
Исключить отслеживание пользователей — чтобы не влиять на статистику по сайту нашими проверками веб-страниц в блоге
После этих немногочисленных изменений в работе плагина, в самом низу списка, нажимаем кнопку Обновить настройки.
А, теперь, мы можем за-апгрейдить нашу первую статью-запись.
Возвращаемся в раздел редактирования Записей
При наведении на название статьи появляются элементы управления — выбираем Изменить.
Справа от самой Записи есть элементы управления. Из значимых для нас:
Постоянная ссылка — так как строка урла браузера больше дружит с латиницей (последствия систем кодировок), советую адрес ввести латинскими буквами, произведя транслитерацию в случае русского-буквенного предлагаемого урла
Рубрики — тоже советую этот инструмент, категоризируя свои статьи, например «administration», «code», «books», «uncategorized», и другие
Метки — указываем ключевые тэги (это так же помогаем категоризировать наши статьи, но в другом срезе, а, кроме того, создает новые страницы в нашем блоге — страницы со статьями по определенному тегу, что положительно влияет на сео)
Последний важный момент — скролим в самый низ нашей статьи до раздела All In One SEO Pack и заполняем поля:
Заголовок — указываем краткий, но емкий заголовок для это статьи
Описание — указываем более развернутое описание
Чуть выше отображается «сниппет» — как будет выглядеть интерпритация страницы статьи в поисковиках.
Последний раз сохраняем и нажимаем кнопку Обновить, чтобы опубликовать изменения.
Это последняя статья из серии «Устанавливаем блог WordPress на CentOS 7 с веб-сервером Caddy, PHP 7.2 и MySQL 8.0».
Ранее, для установки блога на вордпресс, мы уже сконфигурировали CentOS 7, установили майскл восьмой версии, пхп и кэдди в качестве быстрого, современного веб-сервера. Последний элемент — сам блог wordpress
Итак, на нашем сервере, переходим в директорию для веб-сайтов
Распаковываем (архиватор распакует автоматически в директорию wordpress)
$ sudo tar zxf latest.tar.gz
Удаляем архив с файлами блога вордпресс (он нам больше не нужен)
$ sudo rm latest.tar.gz
Устанавливаем права на директорию wordpress для caddy пользователя (ранее сконфигурированного при установке Caddy web-сервера)
$ sudo chown -R caddy:caddy wordpress
Теперь, подключим и настроим сайт нашего вордпресса
В данном примере, используем текстовый редактор nano, который мы ставили ранее (при конфигурировании операционной системы CentOS 7), однако вы можете использовать другой редактор, в том числе стандартный vi
Копируем код ниже и вставляем его в файл конфигурации (при это необходимо заменить «example.com», в двух местах, доменом, который мы создавали в статье по выбору и приобретению простого и недорогого домена для вашего блога)
example.com {
tls admin@example.com
root /var/www/wordpress
gzip
fastcgi / 127.0.0.1:9000 php
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?_url={uri}
}
}
Сохраняем (CTRL+O и ENTER для текстового редактора nano) и закрываем файл (CTRL+X).
Перезагружаем веб-сервер Caddy, чтобы применить новую конфигурацию
$ sudo systemctl restart caddy
Теперь наш блог должен открыться через браузер (пока что интерфейс для дальнейшего конфигурирования) — вводим в строке урл любого браузера наш домен (в моем случае это questpro.club), выбираем язык интерфейса (мне удобнее будет английский, но советую выбрать русский).
Жмем кнопку Let’s go
В предлагаемых полях на следующем экране вводим следующие данные (из этого мануала)
Database Name = wordpress
Username = wordpressuser
Password = gHspvn@36nBA
Database Host — оставляем значения по умолчанию
Table Prefix — оставляем значения по умолчанию.
Происходит инсталляция…
По ее завершении, вводим необходимые данные админа, для входа в админский аккаунт в вордпрессе. И далее пробуем заходить в админку с только что сгенерированными данными.
WordPress установлен
В следующей статье опишу процесс создания вашей собственной первой статьи и расскажу про популярный seo-плагин для начальной сео-оптимизации.
Это статья из серии «Устанавливаем блог WordPress на CentOS 7 с веб-сервером Caddy, PHP 7.2 и MySQL 8.0».
Для установки блога на WordPress мы уже сконфигурировали CentOS 7, установили майскл восьмой версии и кэдди в качестве быстрого, современного веб-сервера. Осталось поставить пхп с необходимыми плагинами.
На момент написании статьи CentOS 7 в стандартном репозитории имеет на борту php версии 5.4. И установить ее можно одной командой. Однако у меня было желание работать с более актуальной версией PHP (стабильной 7.2). В моем случае, необходимо заменить репозиторий (попутно установив утилиты для работы с репозиториями).
Последовательно выполняем команды ниже (может потребоваться ввод пароля от аккаунта операционной системы)
Теперь, слегка модифицируем конфигурационный файл, чтобы PHP сервис мог запускаться от имени пользователя веб-сервера caddy.
Будем использовать текстовый редактор nano, который мы ставили ранее (описано в статье), однако вы можете использовать другой редактор, в том числе стандартный vi. Итак
$ sudo nano /etc/php-fpm.d/www.conf
Ищем фрагмент с user = и group =
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
И меняем apache на caddy. Сохраняем (CTRL+O и ENTER для nano) и закрываем файл (CTRL+X).