Сам себе хостер 3. Лучшие команды для настройки сервера!

Опубликовано admin -

Наиболее запоминающиеся и нужные команды для настройки сервера для сайта (nginx, mysql, apache, docker). Далее будут указаны использующиеся в основном команды для первоначальной настройки веб-окружения сервера, которые по статистике чаще всего приходится использовать.  

Настройка логов

Следующая команда выведет используемый размер для логов: 

journalctl --disk-usage

 конфигурационный файл для настройки логов

vi /etc/systemd/journald.conf

 рекомендую изменить, если недостаточно места:

SystemMaxUse=50M

после необходимо перезагрузить:

sudo systemctl restart systemd-journald.service

Команда для удаления лог-файла за последний год:

journalctl --vacuum-time=1years

Отслеживание и поиск директорий с наибольшим объёмом

du -hx / |grep ^[0-9.]*G | sort -rn| head -n 10

Настройка swap файла

В тех случаях, когда недостаточно памяти, поможет swap файл.

Вводим в терминале следующую команду:

swapon --show

команда swapon

Как видно в моём случае, swap файл используется 420,7М.

1. Создание файла подкачки

Для создания файла подкачки размером 1GB укажите команду:

sudo fallocate -l 1G /swapfile

fallocate - более быстрая альтернатива традиционному методу создания файла и заполнения его нулями

укажите права на файл:

sudo chmod 600 /swapfile

При этом вместо «swapfile» мы можем указать любое другое название.

2. Создание файловой системы

Также необходимо создать файловую систему для указанного файла.

sudo mkswap /swapfile

3. Активируем файл подкачки

sudo swapon /swapfile

Давайте проверим, все ли мы сделали правильно:

swapon --show

4. Сохранение изменений после перезагрузки

Указанные изменения будут недоступны после перезагрузки. Для этого необходимо внести соответствующие изменения в файл /etc/fstab:

но прежде, чем создавать изменения необходимо сохранить его копию:

sudo cp /etc/fstab /etc/fstab.back

Для внесения соответствующих изменений:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

после этих изменений, файл подкачки будет сохранён и не будет перезаписан после перезагрузки.

В определённых случая, может потребоваться настройка дополнительных параметров таких, как swappiness. Но я рекомендую оставить его по умолчанию.

5. Отключение файла Swap

Для изменения размера файла swap можно использовать следующую команду:

sudo swapoff /swapfile

далее можно изменить размер файла подкачки

sudo fallocate -l 2G /swapfile

форматируем файл:

sudo mkswap /swapfile

а затем обратно включаем:

sudo swapon /swapfile

6. Удаление файла swap

sudo swapoff /swapfile
sudo rm /swapfile

Поиск определенных процессов

docker exec -it cerphp sh -c 'cd public_html/devsockets && php -f sockets.php'
ps aux | egrep -i "([0-9]+\:[0-9]+ php \-f sockets\.php)"
ps aux | egrep -i "([0-9]+\:[0-9]+ php \-f sockets\.php)" | awk '{print $3}'

Поиск максимально нагружаемых систему процессов

ps aux --sort=-pcpu
ps aux --sort=-pcpu | head -n 6

ps aux

LOAD=`ps aux | egrep -i "([0-9]+\:[0-9]+ php \-f sockets\.php)" | awk '{print $2}'`

Создание файла для проверки web сервиса php:

#!/bin/bash
# Если он отсуствует
LOAD=`ps aux | egrep -i "([0-9]+\:[0-9]+ php \-f sockets\.php)" | awk '{print $2}'`

if [[ -z "$LOAD" ]]; then
echo "ВНИМАНИЕ!!! Сервис отсутствует. Запускаем его!"
docker exec -it cerphp sh -c 'cd public_html/devsockets && php -f sockets.php'
fi

затем можно добавить его в запуск по cron:

crontab -e

добавив:

*/1 * * * * /root/certbot/check.sh > ~/cron.log 2>&1

Команды для работы с Docker

Поскольку Docker наиболее популярное средство для работы с различными сервисам, далее будут перечислены наиболее востребованные команды.

Следующая команда отображает статистику использования контейнера(ов):

docker stats "container name"
docker stats

запуск скрипта php в контейнере:

docker exec -it cerphp sh -c 'cd public_html/devsockets && php -f sockets.php'

для того, чтобы войти в контейнер с именем php используется команда:

docker exec -it php bash

  отображение всех задействованных контейнеров:

docker container ls

отображение всех образов docker:

docker images
docker image ls

удаление образа:

docker image rm <image>

удаление контейнера:

docker container rm <container>

отображение информации о контейнере:

docker inspect <container>

запуск сервисов:

docker compose up
docker compose up -d

Очистка Docker

Часто Docker занимает ненужными образами и контейнерами большое количество места:

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

docker container prune && docker image prune
docker system prune --all

 

Взаимосвязанные материалы

# 1 . Сам себе хостер 3. Лучшие команды для настройки сервера! ( ),
Наиболее запоминающиеся и нужные команды для настройки сервера для сайта (nginx, mysql, apache, docker). читать...
# 2 . Пример проверки работоспособности elastic search посредством bash и cron ( ),

 Пример проверки работоспособности elastic search.

читать...
# 3 . Хуки в Git ( ),

Часто приходится копировать данные по сайту в git репозиторий или переносить копию на локальный сервер или рабочий?

читать...
# 4 . Сам себе хостер 2. Настройка phpmyadmin, mysqli. ( ),

Phpmyadmin.

В первой части /node/958&nbsp читать...

# 5 . В пути директории с точкой Error 403! ( ),

Столкнулся с проблемой при работе с Bitrix, если в пути имеется точка (как правило это директория .default) то apache выдает ошибку:

читать...
На разработку сайта! Скидки до 20%!