Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Занятие №5. Системное администрирование Linux

Содержание

Типовая архитектура сервисаФронтенд отвечает за прием запросов, поступающих от клиентов, их первичную обработку, пересылку запросов на сервер приложений, получение ответов и отправку клиенту.Сервер приложений содержит в себе логику обработки запросов. Он взаимодействует с БД для хранения
Системное администрирование LinuxСергей КлочковЗанятие №5 Типовая архитектура сервисаФронтенд отвечает за прием запросов, поступающих от клиентов, их первичную ФронтендВ качестве фронтенда в данном примере будет использоваться асинхронный HTTP-сервер nginx.Благодаря особенностям Протокол HTTPИспользуется в первую очередь для передачи веб-страниц и их содержимого (изображений, URLИдентификатором ресурса, получаемого по HTTP или используемого для отправки данных, является URL Виды HTTP-запросов: GETПредназначен для получения содержимого страниц, а не отправки данных > Виды HTTP-запросов: POSTPOST-запросы предназначены для отправки данных на сервер. Данные передаются в Коды ответа HTTP (успешные запросы)1xx: служебные сообщения.2хх: запрос обработан успешно.3xx: редиректы. 301 Коды ответа HTTP (ошибки)4хх – ошибки клиента. 400 – некорректный запрос, 401 SSLПредназначен для установки шифрованных туннелей openssl s_client -connect google.com:443 Практическая работаСегодня в качестве практической работы мы развернем на учебных виртуалках движок Nginx и статикаДля установки nginx нужно выполнить yum install nginxВ рамках предыдущего Конфигурация nginxОткроем конфигурационный файл /etc/nginx/nginx.conf и разберем его содержимое.Чтобы настроить репозиторий, откроем СУБД mysql (mariadb)MySQL – наиболее распросраненная из реляционных СУБД.В связи с разногласяими Создание БД и пользователяСоздание базы данных и пользователя, имеющего полные права доступа Подготовка зависимостей mediawikiДля целей демонстрации развертывание движка будет выполнено из тарбола с PHP-FPMВ качестве среды исполнения PHP-скриптов будет использоваться php-fpm.Это сервер, принимающий запросы по Подготовка содержимого движкаНачнем с создания директории /var/www/wiki. Владельцем этой директории должен быть Конфигурация nginxНеобходимо настроить отдачу статических файлов с помощью nginx и отправку запросов Конфигурация nginx (продолжение)В /etc/nginx/conf.d/default.conf добавим следующее:После этого нужно выполнить service nginx reload Первичная настройка движкаСледуя несложным указаниям, настройте движок. В конце вам предложат скачать
Слайды презентации

Слайд 2

Типовая архитектура сервиса
Фронтенд отвечает за прием запросов, поступающих

Типовая архитектура сервисаФронтенд отвечает за прием запросов, поступающих от клиентов, их

от клиентов, их первичную обработку, пересылку запросов на сервер

приложений, получение ответов и отправку клиенту.
Сервер приложений содержит в себе логику обработки запросов. Он взаимодействует с БД для хранения данных сервиса.
БД отвечает за хранение данных и эффективную работу с ними

Слайд 3

Фронтенд
В качестве фронтенда в данном примере будет использоваться

ФронтендВ качестве фронтенда в данном примере будет использоваться асинхронный HTTP-сервер nginx.Благодаря

асинхронный HTTP-сервер nginx.
Благодаря особенностям архитектуры, nginx обеспечивает высокую производительность

и низкое потребление ресурсов на каждый коннект.
В данном примере он будет использоваться как HTTP-сервер и fastcgi-клиент.

Слайд 4

Протокол HTTP
Используется в первую очередь для передачи веб-страниц

Протокол HTTPИспользуется в первую очередь для передачи веб-страниц и их содержимого

и их содержимого (изображений, таблиц стилей, файлов javascript и

т. п).
Поскольку штатные средства работы с http (серверы, клиенты, библиотеки для различных ЯП) очень распространены, хорошо отлажены и многие разработчики и сисадмины умеют с ними работать, HTTP часто используется для взаимодействия приложений (т. н. REST API).

Слайд 5

URL
Идентификатором ресурса, получаемого по HTTP или используемого для

URLИдентификатором ресурса, получаемого по HTTP или используемого для отправки данных, является URL

отправки данных, является URL


Слайд 6

Виды HTTP-запросов: GET
Предназначен для получения содержимого страниц, а

Виды HTTP-запросов: GETПредназначен для получения содержимого страниц, а не отправки данных

не отправки данных
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
>

Host: www.rambler.ru
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.11.1
< Date: Wed, 19 Oct 2016 10:33:31 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Keep-Alive: timeout=50
< X-App-Version: 3.22.56
< X-Request-Id: 52036B1BD2FE150C
< X-Sentry-ID: None
< Set-Cookie: proselytize=1; domain=.rambler.ru; path=/; expires=Wed, 20-Jul-17 23:55:55 GMT
< Set-Cookie: ruid=vAsAAPpLB1gba1WaAeEAAAB=; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.rambler.ru; path=/
< P3P: CP="NON DSP NID ADMa DEVa TAIa PSAa PSDa OUR IND UNI COM NAV"


Слайд 7

Виды HTTP-запросов: POST
POST-запросы предназначены для отправки данных на

Виды HTTP-запросов: POSTPOST-запросы предназначены для отправки данных на сервер. Данные передаются

сервер. Данные передаются в теле запроса.
> POST /post HTTP/1.1
>

User-Agent: curl/7.35.0
> Host: httpbin.org
> Accept: */*
> Content-Length: 15
> Content-Type: application/x-www-form-urlencoded
>
> foo=bar&fuz=baz
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 19 Oct 2016 10:36:00 GMT
< Content-Type: application/json
< Content-Length: 376
< Connection: keep-alive
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Credentials: true


Слайд 8

Коды ответа HTTP (успешные запросы)
1xx: служебные сообщения.
2хх: запрос

Коды ответа HTTP (успешные запросы)1xx: служебные сообщения.2хх: запрос обработан успешно.3xx: редиректы.

обработан успешно.
3xx: редиректы. 301 – постоянный редирект, кешируемый браузерами

навсегда. 302 – временный редирект. Цель редиректа указывается в заголовке Location. 304 – нет изменений (работает в сочетании с заголовком клиента If-Modified-Since)

GET /static/images/project-logos/enwiki.png HTTP/1.1
Host: en.wikipedia.org
If-Modified-Since: Mon, 14 Mar 2016 18:08:11 GMT

HTTP/2.0 304 Not Modified
Date: Wed, 19 Oct 2016 10:51:10 GMT
Last-Modified: Mon, 14 Mar 2016 18:08:11 GMT


Слайд 9

Коды ответа HTTP (ошибки)
4хх – ошибки клиента. 400

Коды ответа HTTP (ошибки)4хх – ошибки клиента. 400 – некорректный запрос,

– некорректный запрос, 401 – требуется авторизация, 403 –

доступ запрещен, 404 – страница не найдена.
5хх – ошибки сервера. 500 – внутренняя ошибка сервера, перезапрашивать бесполезно; 502 – апстрим (напр. сервер приложений) недоступен; 503 – временная ошибка сервера (можно перезапросить), 504 – истекло время ожидания ответа от апстрима.

Слайд 10

SSL
Предназначен для установки шифрованных туннелей
openssl s_client -connect

SSLПредназначен для установки шифрованных туннелей openssl s_client -connect google.com:443

google.com:443


Слайд 11

Практическая работа
Сегодня в качестве практической работы мы развернем

Практическая работаСегодня в качестве практической работы мы развернем на учебных виртуалках

на учебных виртуалках движок mediawiki с nginx в качестве

фронтенда, mariadb (mysql) в качестве СУБД и php-fpm в качестве среды исполнения php
Для начала подключим репозиторий nginx

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
enabled=1
gpgcheck=0


Слайд 12

Nginx и статика
Для установки nginx нужно выполнить yum

Nginx и статикаДля установки nginx нужно выполнить yum install nginxВ рамках

install nginx
В рамках предыдущего домашнего задания вы должны были

подготовить rpm-пакет. Сейчас мы сделаем репозиторий, доступный по HTTP, и положим в него этот пакет

# Подготовка репозитория

yum install createrepo
mkdir -p /var/www/repo
cp <ваш пакет> /var/www/repo/
createrepo /var/www/repo/


Слайд 13

Конфигурация nginx
Откроем конфигурационный файл /etc/nginx/nginx.conf и разберем его

Конфигурация nginxОткроем конфигурационный файл /etc/nginx/nginx.conf и разберем его содержимое.Чтобы настроить репозиторий,

содержимое.
Чтобы настроить репозиторий, откроем /etc/nginx/conf.d/default.conf и внесем внутрь секции

server следующее:


После этого запустим nginx и проверим доступность репозитория.
Добавим конфигурацию репозитория в систему.

location /repo/ {
root /var/www/;
autoindex on;
}


Слайд 14

СУБД mysql (mariadb)
MySQL – наиболее распросраненная из реляционных

СУБД mysql (mariadb)MySQL – наиболее распросраненная из реляционных СУБД.В связи с

СУБД.
В связи с разногласяими владельцев TM mysql и основной

команды разработки был основан форк – mariadb.
Установим СУБД с помощью команды yum install mariadb-server.
Аккаунт суперпользователя БД – root. По умолчанию разрешена авторизация под root с локального хоста без пароля. Для простоты не будем это менять.

Слайд 15

Создание БД и пользователя
Создание базы данных и пользователя,

Создание БД и пользователяСоздание базы данных и пользователя, имеющего полные права

имеющего полные права доступа к данной БД
В MySQL права

доступа выдяются на комбинацию имени пользователя и хоста (хостов), с которых он устанавливает соединение.

mysql -u root
> CREATE DATABASE `wiki` DEFAULT CHARACTER SET = 'utf8mb4' DEFAULT COLLATE = 'utf8mb4_general_ci';
> GRANT ALL ON `wiki`.* TO 'wiki'@'localhost' IDENTIFIED BY 'wiki';
> ^D mysql -u wiki -pwiki wiki
>


Слайд 16

Подготовка зависимостей mediawiki
Для целей демонстрации развертывание движка будет

Подготовка зависимостей mediawikiДля целей демонстрации развертывание движка будет выполнено из тарбола

выполнено из тарбола с сайта, поэтому установим зависимости.

Выполним предварительную

конфигурацию php: найдем в /etc/php/php.ini закомментированную строчку с date.timezone и впишем в нее:

yum install php php-mbstring php-cli php-embedded php-intl php-bcmath php-xmlrpc php-dba php-xml php-common php-pdo php-mysql php-fpm php-gd

date.timezone = Europe/Moscow


Слайд 17

PHP-FPM
В качестве среды исполнения PHP-скриптов будет использоваться php-fpm.
Это

PHP-FPMВ качестве среды исполнения PHP-скриптов будет использоваться php-fpm.Это сервер, принимающий запросы

сервер, принимающий запросы по протоколу fastcgi. По умолчанию он

принимает запросы на 127.0.0.1:9000.
php-fpm при старте сразу запускает набор воркеров для обработки запросов. В случае нехватки он запускает дополнительных воркеров вплоть до лимита.

service php-fpm start


Слайд 18

Подготовка содержимого движка
Начнем с создания директории /var/www/wiki. Владельцем

Подготовка содержимого движкаНачнем с создания директории /var/www/wiki. Владельцем этой директории должен

этой директории должен быть пользователь, под которым запущен php-fpm
Нужно

скачать тарбол LTS-версии (https://releases.wikimedia.org/mediawiki/1.23/mediawiki-1.23.15.tar.gz) и распаковать его содержимое в /var/www/wiki.

Слайд 19

Конфигурация nginx
Необходимо настроить отдачу статических файлов с помощью

Конфигурация nginxНеобходимо настроить отдачу статических файлов с помощью nginx и отправку

nginx и отправку запросов к php-скриптам на php-fpm по

протоколу fastcgi
Для этого необходимо: запросы на *.php сразу отправлять на php-fpm, а для прочих запросов проверять существование файла и если файла нет, видоизменять запрос и отправлять на php-fpm


Слайд 20

Конфигурация nginx (продолжение)
В /etc/nginx/conf.d/default.conf добавим следующее:







После этого нужно

Конфигурация nginx (продолжение)В /etc/nginx/conf.d/default.conf добавим следующее:После этого нужно выполнить service nginx

выполнить service nginx reload и открыть в браузере http://

виртуалки>/wiki/

location /wiki/ {
root /var/www;
index index.php;
try_files $uri $uri/ @rewrite;
}

location @rewrite {
rewrite ^/wiki/(.*)$ /wiki/index.php?title=$1&$args;
}

location ~ \.php$ {
root /var/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}


  • Имя файла: zanyatie-n5-sistemnoe-administrirovanie-linux.pptx
  • Количество просмотров: 147
  • Количество скачиваний: 1