С чего начать изучать системное администрирование?

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

Сейчас я планирую заняться изучением backend`a, но прежде чем начать изучение php, я бы хотел понять как работает сервер, как все устроенно, как настроить свой сервер, из всего это возникает ряд вопросов:

1 - Правильно ли я выбрал свой путь? Мне кажется что после изучение настройки и администрирования сервера, хотя бы на самом простом уровне, я буду проще понимать что и как работает, будет возможность самостоятельно настраивать и конфигурировать сервер. (Или я загнул, и мне этот вовсе не нужно)

2 - Правильно ли начитать с Debian 9.3 + nginx + php-fpm? Кажется именно такое решение советуют в большей части вопросов, если же я конечно ничего не перепутал.

3 - Какую литературу можно прочитать новичку? Со знанием английского языка все очень печально.

4 - Если все же мой путь выбрал верно, не могли бы вы поделиться ссылкой на ресурсы посвященные администрированию и бэкенду в целом.

Если быть честным я уже пытался настроить debian + nginx + php, но просто запутался в настройке и конфигурации, в разных гайдах люди пишут по разному, объяснений конечно же нет, плохо когда ты не понимаешь что происходит, по этому решил спросить совета у людей имеющих какой либо опыт в данной сфере. Спасибо что дочитали до конца, за ранее вам огромное спасибо за критику или пояснения.
  • Вопрос задан
  • 1867 просмотров
Решения вопроса 2
shambler81
@shambler81 Куратор тега Linux
1. с чего начать, к сожалению со всего сразу, для этого просто nginx +fpm не достаточно
нужен и и bind и sftp и mysql и тд.
Так что лучшим мануалом для вас считаю поставить ispconfig3 и разобратья с каждым пунктом установки.
при том не бездумно ставить а пытаться понять что сейчас делаете.
2. Прикрутить multiphp
3. разобратья как работают php-fpm и чем он отличается от mod_apache
3. прикрутите nginx и настройте конфиги проксирования так чтоб связка апач+ngix работала.
Fail2ban qunta и тд так же по дороге, желательно разместить пару реальных сайтов.
теперь что вам реально нужно знать
Линукс это консоль, кроме нее вам ничего не нужно, даже не тратьте время на GUI интерфейсы
если вы выучите это то линукс для вас станет понятен
1. man
2. команда --help

ls cd rm mc tail cat- минимум
стндартный ввод вывод и какие они бывают, как их перенаправлять.
find grep sed - чем глубже тем лучше, особенно в их связке, после этих команд у вас не останется невозможных
задач.
дополнительно
awk wc
Все остальное наработаете с опытом.
Ответ написан
Что касается системного администрирования:
1. Тут за основу взяты Linux системы, львиная доля серверов использует как раз их.
2. Остановите свой выбор на Ubuntu/Debian
3. Скачайте в сети и положите себе под руку, шпаргалку по командам, и выучите базовые команды (ls -lah, cd, mkdir, rmdir, pwd)
4. Помните что файлы редактировать вы можете с помощью nano, не лезьте в vim, не сможете выйти
5. Помните что в linux системах, всё является файлом, жесткий диск, разделы жесткого диска, порты, сокеты, и даже сами каталоги это файл.
6. Далее, сам сервер, здесь выбор не велик, либо это nginx, либо apache, либо nginx+apache
7. Остановите свой выбор на nginx, в сети достаточно информации по установки этого сервера.
9 Запомните что http протокол по умолчанию использует 80 порт, а https 443 (listen 80)
9. Добейтесь того чтобы при обращению в браузере к test.local, вы открыли простой index.html файл, для этого установите сервер, создайте конфигурацию под виртуальный хост (server_name test.local),залейте файл в директорию указанную в document root / root, перегрузите сервер, пропишите в hosts своего компьютера test.local SERVER-IP<-- ip адрес сервера.
10 Если вы тут, то уже круто.
11. Далее интерпретатор php, он вам нужен чтобы открывать помимо html ещё и php файлы.
12. Устанавливаете php fpm. Как правило связка nginx+ php-fpm без особых проблем должна завестись, если нет то гуглите
13. Меняете index.html на index.php, пишете внутри <?php phpinfo(); ?> Пробуете запустить test.local, если появилась инфа по пхп, то это ещё круче чем пункт 10.
14. Теперь mysql. Гуглите установку, после установки, php уже будет уметь в mysql.
15. Профит.

Далее по такому же принципу можете завести apache, nginx+apache.
Лучше всё это дело делать в виртуалке, чтобы без проблем можно было начинать с начала, если сломаете всё в хлам.

Будут вопросы, пишите в комменты
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Направление у вас не правильно, учите PHP и и т.д.. а как настроить сервер вы поймёте пока будете настраивать себе тестовое окружение для изучения языков и т.д.

Более глубокие знания системы на которой будет это всё работать не входит в ваши обязанности как разработчика скриптиков на PHP, да и не доверит. :)

А так это две разные и объёмные области, их охватить будет очень сложно, покрайне мере на начальных этапах.

Сайты, документация: Офф. документация (англ., учите, гугл транслейт в помощь) ну и собственно гугл.
Ответ написан
Sanes
@Sanes
Режимов работы PHP много. Изучайте каждый.
Я лично предпочитаю Nginx+Apache+PHP-FPM.
Есть еще без апач, там только PHP-FPM, есть с апач. Там и режим mpm-itk и mod_ruid2 и CGI/FastCGI.
Самый кривой и неправильный Apache Prefork mod_php
Ответ написан
@zeikks
Вообще в мире информационных технологий есть краеугольны камень вокруг которого крутиться технологии и называется он "сетевая модель osi". Конечно ценность ее понимания придет не сразу но со временем вы ее поймете, как работают приложения каким образом осуществляется передача информации между разными уровнями.
Так как Вы выбираете направление работы в строну клиент серверных решений, Вам необходимо получить базовые понятия:
- о стеке протоколов tcp/ip
- о принципах работы компьютерных сетей (что такое ip адрес, порт, как происходит маршрутизация пакета)
По выбору технологий:
- В изучении Linux вам могут помочь курсы LPIС.
- Если у Вас нет опыта в работе с языками программирования я бы рекомендовал вам начать знакомство с языков со строгой типизацией данных, php является языком с динамической типизацией данных.
Ответ написан
Комментировать
@Z462
паяльника )))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы