Адміністрування linux, losst

Операційна система Linux розвивається вже більше двадцяти п'яти років і за цей час вона набрала більшу популярність серед системних адміністраторів і програмістів. Через свою архітектури Linux найчастіше застосовується на серверах і інших подібних платформах для розміщення проектів. Як і будь-яка інша операційна система, Linux потребує обслуговування, налаштування та вирішенні проблем.

У цій статті ми розглянемо адміністрування Linux для початківців, що потрібно знати початківцю адміністратору, у якого тільки з'явився свій сервер, наприклад, VPS в інтернеті, що з ним робити, на що звернути увагу і як уникнути проблем.

адміністрування Linux

Адміністрування Linux - це дуже велика область і, природно, що ми не зможемо повністю охопити її в цій статті. Але спробуємо охопити основні завдання, які постають перед адміністратором будь то сервера або домашнього комп'ютера. Ось основні завдання, які ми розглянемо:

Віддалений доступ до сервера Linux

Найчастіше веб-майстри і адміністратори використовують для віддаленого доступу і завантаження файлів на сервер протокол SSH і FTP. За SSH ви не тільки передавати файли, але і виконувати на сервері різні команди Linux. Протокол FTP дозволяє лише завантажувати файли на сервер, переміщати і перейменовувати їх. Якщо коротко, то, наприклад, щоб перенести файли сайту з одного сервера на інший, спочатку ми створюємо архів за допомогою tar:

$ Tar cvzf backup.tar.gz / папка / с / файлами

$ Scp backup.tar.gz user @ ip_сервера: / var / www / public_html /

$ Ssh user @ ip_сервера
$ Cd / var / www / public_html /
$ Tar xvzf backup.tar.gz

Після цього залишиться змінити власника для розпакованих даних на ім'я користувача веб-сервера:

$ Chown -R www-data / var / ww / public_html / project /

Більшість дій з адміністрування сервера вам доведеться виконувати так що краще зрозуміти як користуватися ssh.

Діагностика мережі Linux

Цей момент адміністрування Linux серверів підходить більше для комп'ютерів, до яких у вас є фізичний доступ, але може в деяких випадках корисним і на сервері. Найпростіший спосіб перевірити чи є доступ до мережі на комп'ютері, це виконати команду ping:

Адміністрування linux, losst

Адміністрування linux, losst

Переконайтеся, що правильно поставлене шлюз доступу до мережі:

Адміністрування linux, losst

Адміністрування linux, losst

Якщо ж мережа не працює, і вона налаштована правильно, то можна ще спробувати дізнатися на якому вузлі обривається з'єднання. Для цього використовується команда traceroute:

Адміністрування linux, losst

Всі ці дані допоможуть зрозуміти в чому була помилка і як її вирішити.

Моніторинг ресурсів системи

Часто може трапиться, що сервер починає працювати дуже повільно, веб-служби починають дуже довго відповідати на запити і навіть з'єднання по SSH працює повільно. Швидше за все, причиною цього може стати перевантаження ресурсів процесора або пам'яті. Якщо вся пам'ять буде зайнята, система буде скидати дані на диск, в розділ підкачки, що теж сильно уповільнює роботу сервера. Щоб подивитися скільки пам'яті залишилося доступно використовуйте команду free:

Адміністрування linux, losst

Природно, що якщо вільно тільки 40-50 Мб, то цього системі дуже мало і все буде працювати дуже повільно. Наступним кроком буде з'ясувати який процес споживає найбільше пам'яті, для цього можна використовувати команду htop:

Адміністрування linux, losst
Адміністрування linux, losst

В утиліті ви можете сортувати процеси по завантаженню процесора, колонка% CPU% або по споживанню пам'яті% MEM%. Так ви можете дуже просто зрозуміти в чому проблема і хто перевантажує систему. Наприклад, веб-сервер Apache споживає занадто багато пам'яті, тому, можливо, буде ефективніше використовувати Nginx.

Також в деяких випадках нас може цікавити завантаження диска Linux і які саме процеси перевантажують жорсткий диск. Для цього застосовується утиліта iotop. Просто виконайте утиліту без параметрів:

Адміністрування linux, losst

Перевірка працездатності сервісів

У системне адміністрування linux також входить управління сервісами. Зараз в більшості дистрибутивів, як системи ініціалізації використовується systemd. Відповідно, управління службами linux виконується за допомогою неї. Щоб подивитися запущено службу, наприклад, веб-сервер nginx, виконайте:

$ Sudo systemctl status httpd

Адміністрування linux, losst

В численному виведення утиліти ви повинні побачити повідомлення Active (running), це означає, що все добре і служба працює так як потрібно. Можливо, також вам доведеться перезапустити службу:

$ Sudo systemctl restart httpd

Або запустити її, якщо вона не була запущена до цього:

$ Sudo systemctl start httpd

Якщо служба не запустилася, то ви можете подивитися інформацію про це за допомогою команди status або ж виконати:

Якщо який-небудь сервіс або системний компонент не працює, то перше що потрібно зробити - це дивитися логи. Якщо не допомагає - включити режим налагодження і дивитися логи. У 90% ви знайдете відповідь чому нічого не працює в логах програми. Список всіх служб і системні логи знаходяться в папці / var / log /. Деякі служби створюють окремі папки для своїх файлів, наприклад, / var / log / nginx або / var / log / apache.

Якщо в звичайному балці ви не знайшли рішення, то можна перемкнути програму в режим налагодження або включити відображення максимально докладної інформації. Зазвичай це дається в файлі конфігурації програми. Наводити конкретні приклади немає сенсу, оскільки у кожного сервісу все по-іншому. Але розглянемо кілька команд, які ви можете використовувати:

$ Tail -f / шлях / до / лог / файлу

Адміністрування linux, losst

За допомогою цієї команди ви можете в реальному часі переглядати зміни в кінці лог файлу. Якщо опцію -f не вказувати, то команда tail покаже десять останніх рядків з логу:

Установка програмного забезпечення

$ Sudo apt install Имя_Пакета

А в CentOS / RedHat:

$ Sudo yum install Имя_Пакета

Для видалення програми використовується команда remove замість install. Але що ще більш важливо для серверів оновлення програм. Ніколи не відключайте автоматичне оновлення, і прагніть стежити, щоб система була в самому актуальному стані. Потрібно оновлювати все програмні продукти, оскільки в них постійно виявляються нові уразливості і слід отримати вчасно виправлення для них.