Какие основные команды и утилиты Linux используются для администрирования сервера и развертывания приложений

Ответ

Для эффективной работы с сервером и развертывания приложений в Linux используется стандартный набор утилит командной строки. Их можно сгруппировать по задачам:

1. Навигация и работа с файлами:

  • ls - просмотр содержимого директории.
  • cd - смена текущей директории.
  • grep - поиск текста в файлах по шаблону.
  • find - поиск файлов и директорий по различным критериям.
  • chmod / chown - управление правами доступа.

2. Управление процессами:

  • ps aux - просмотр списка запущенных процессов.
  • top / htop - интерактивный мониторинг системных ресурсов и процессов.
  • kill - отправка сигналов процессам (например, для завершения).
  • systemctl - управление сервисами (демонами) через systemd (старт, стоп, перезагрузка).

3. Работа с сетью:

  • curl / wget - отправка HTTP-запросов, скачивание файлов.
  • ssh - безопасное удаленное подключение к серверу.
  • scp - безопасное копирование файлов по сети.
  • netstat / ss - просмотр активных сетевых соединений и открытых портов.

4. Развертывание и окружение:

  • Nginx/Apache - настройка веб-серверов и обратных прокси.
  • Gunicorn/uWSGI - запуск Python-приложений (WSGI-серверы).
  • Docker - контейнеризация приложений для изоляции и переносимости.

Пример: просмотр логов веб-сервера в реальном времени:

# Вывести последние 100 строк лога и следить за обновлениями
tail -n 100 -f /var/log/nginx/access.log

# Найти все записи с кодом ошибки 500
grep " 500 " /var/log/nginx/access.log