You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 lines
5.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Решения
### 1.
Установите пакет `nginx`.
```
$ sudo apt install nginx
```
### 2.
Запустите исполняемый файл `nginx`. Проверьте, что он запустился `ps aux`.
```
$ sudo ps aux | grep nginx
```
### 3.
После запуска `nginx` им можно управлять, вызывая исполняемый файл с параметром `-s`. Попробуйте команды:
- `stop` — быстрое выключение,
- `quit` — завершение работы с ожиданием завершения обслуживания текущих запросов рабочими процессами,
- `reload` — перезагрузка файла конфигурации,
- `reopen` — повторное открытие лог-файлов,
используя следующий синтаксис:
```
$ nginx -s signal
```
Команда должна выполняться под тем же пользователем, который запустил `nginx`.
```
$ sudo nginx -s reload
$ sudo nginx -s reopen
$ sudo nginx -s stop
$ sudo nginx; sudo ps uax
$ sudo nginx -s quit
```
### 4.
Сигнал также может быть отправлен процессам `nginx` с помощью инструментов Unix, таких как утилита `kill`. Идентификатор процесса главного процесса `nginx` по умолчанию записывается в файл `nginx.pid` в каталоге `/usr/local/nginx/logs` или `/var/run`.
Завершите корректно работу nginx командой `kill -s QUIT`.
```
$ sudo kill -9 QUIT $(cat /var/run/nginx.pid)
```
### 5.
Настройте сервис `nginx`, установленный вместе с пакетом. Активируйте его и запустите командой `systemctl`.
```
$ sudo systemctl enable nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
```
### 6.
```bash
$ cat /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
```
### 7.
```
$ tree /etc/nginx/
/etc/nginx/
├── conf.d
├── fastcgi.conf
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── modules-available
├── modules-enabled
│ ├── 50-mod-http-geoip.conf -> /usr/share/nginx/modules-available/mod-http-geoip.conf
│ ├── 50-mod-http-image-filter.conf -> /usr/share/nginx/modules-available/mod-http-image-filter.conf
│ ├── 50-mod-http-xslt-filter.conf -> /usr/share/nginx/modules-available/mod-http-xslt-filter.conf
│ ├── 50-mod-mail.conf -> /usr/share/nginx/modules-available/mod-mail.conf
│ ├── 50-mod-stream.conf -> /usr/share/nginx/modules-available/mod-stream.conf
│ └── 70-mod-stream-geoip.conf -> /usr/share/nginx/modules-available/mod-stream-geoip.conf
├── nginx.conf
├── proxy_params
├── scgi_params
├── sites-available
│ └── static-server.conf
├── sites-enabled
│ └── static-server.conf -> /etc/nginx/sites-available/static-server.conf
├── snippets
│ ├── fastcgi-php.conf
│ └── snakeoil.conf
├── uwsgi_params
└── win-utf
6 directories, 20 files
```
### 8,9,10
Рекомендации по устранению проблем.
Проверьте, что в конфигурационных файлах указаны абсолютные пути.
Проверьте порты прослушивания. Проброшенные порты с `193.32.63.170+X` на `10.160.179.10+X`: `22`, `80`, `443`.
Проверьте, конфигурации на предмет синтаксических ошибок. Завершения строк `;`. Помочь сделать проверку может команда `nginx -t`.
Проверьте, что сервис nginx запущен.
Проверьте, что добавили символическую ссылку в `/etc/nginx/sites-enabled` на конфигурационный файл в `/etc/nginx/sites-available`.
Если не открываются скаченные изображения, проверьте, что вы используете прямые ссылки для скачивания. Проверьте размер файлов изображений.
Если вы выбрали сложный вариант решения в 10 задании, проверьте, что машины `10.160.179.10+X` и `10.160.179.10+20+X` находятся в одной vlan `vmbr499` с доступом в интернет, друг друга "видят" командой `ping`.