Установка и настройка сервера Nginx Linux.

Введение.

В операционной среде Linux существует несколько веб серверов для работы с приложениями, использующих в качестве клиентов браузеры. Одним из них является Nginx (энджи́нкс) — лёгкий и быстрый веб-сервер может работать как HTTP движок или в качестве прокси, для «тяжёлых» веб-серверов Apache, IIS. Сервер занимает, в ресурсном сегменте IT приложений, основное место для различных интернет площадок, работает под BSD лицензией. В статье блога рассмотрены вопросы базовой установки сервера для обслуживания HTTP запросов на «слабом» оборудовании.

Функциональность Nginx.

Сервер может использоваться для:

  • индексирования запросов
  • кеширования основного сервера
  • распределения нагрузки серверов
  • создания виртуальных серверов по IP адресам
  • узла выполняющего геолокацию по IP адресам
  • как ретранслятор для IMAP и POP3 запросов

Архитектура.

В качестве модели архитектуры, использует модульную систему — один главный и несколько рабочих процессов. Рабочие процессы, запускаются под непривилегированным пользователем. Самое простое использование сервера — отвечать на html запросы, с помощью одного модуля, как будет показанное ниже.

  • Стенд:
  • ALT Linux сервер, имя lin-nginx; ip-10.0.2.11;

Установка.

В качестве стенда, выберем сервер минимальной конфигурации на котором установим следующие пакеты.

# apt-get update
# apt-get install nginx

Настройка Nginx.

Основные настройки проводятся в файле конфигурации каталога Nginx. Мы сначала покажем классическую схему настройки сервера для ответов на запросы html.

Каталоги и файлы Nginx.

  • /etc/nginx/ — домашний каталог
  • /etc/nginx/nginx.conf — каталог настроек сервера
  • /usr/local/nginx/logs/nginx.pid — каталог главного процесса
  • /etc/nginx/sites-available.d — каталог настроек сайта
  • /etc/nginx/sites-enabled.d/ — каталог запуска сайта
  • /var/log/nginx — каталог журналов
  • ps -ax | grep nginx — процессы

Сценарий работы сайта.

Для начала рассмотрим базовый файл настроек сервера, расположенного в /etc/nginx/nginx.conf

# cat /etc/nginx/nginx.conf
# load dynamic nginx modules
include /etc/nginx/modules-enabled.d/*.conf;

# see http://nginx.net for info & docs

worker_processes  10;

error_log   /var/log/nginx/error.log;

events {
        worker_connections  1024;
}

include /etc/nginx/conf-enabled.d/*.conf;

http {
        proxy_temp_path /var/spool/nginx/tmp/proxy;
        fastcgi_temp_path /var/spool/nginx/tmp/fastcgi;
        client_body_temp_path /var/spool/nginx/tmp/client;

        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

        sendfile  on;

        gzip  on;

        # text/html doesn't need to be defined there, it's compressed always
        gzip_types text/plain text/css text/xml application/x-javascript application/atom+xml;

        # gzip_comp_level 9;
        include /etc/nginx/sites-enabled.d/*.conf;
}

Из файла видно, что основных процессов 10, число соединений 1024, так же указаны рабочие каталоги журналов и исполняемых файлов.

Теперь создадим простой стендовый сайт, для этого в /etc/nginx/sites-available.d поместим файл nglab.conf.

# cd /etc/nginx/sites-available.d/
# touch nglab.conf

Запишем в файл nglab.conf первый кодовый блок.

server {
  listen 80;
  server_name localhost .local 10.0.2.11;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

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

Создадим символическую ссылку для nglab.conf в рабочем каталоге /etc/nginx/sites-enabled.d/

ln -s /etc/nginx/sites-available.d/nglab.conf /etc/nginx/sites-enabled.d/nglab.conf

Управление Nginx.

Система управления сервером определяется стандартными командами Linux и «родными» командами Nginx, для исполняемого файла.

# systemctl start|stop|restart|status nginx
# systemctl enable|disable|is-enabled nginx
# ps -ax | grep nginx

Команды для исполняемого файла предполагают, что сервер работает и отвечает на запросы. Выделим из списка ряд практических команд, которые чаще всего используются в работе.

  • nginx -s stop остановка сервера
  • nginx -s reload перезапуск настроек сервера
  • nginx -T проверка конфигурации, полная
  • nginx -t проверка конфигурации, краткая
  • nginx -h справочная информация

Для примера приведём одну из команд.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfu

Работа с сайтом.

Подготовительные действия выполнены, остаётся в рабочий каталог сервера, /var/www/html, поместить файл index.html.

<html><body><h1>It works! Nginx</h1></body></html>

Набрав нужный адрес в браузере убедимся, что всё работает.

Вид: Приветствие сервера Nginx
Вид1: Приветствие сервера Nginx.

Дополнив файл настроек секцией для фото, создадим галерею снимков.

# mkdir /var/www/html/images
# nginx -s reload
server {
  listen 80;
  server_name localhost .local 10.0.2.11;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        root /var/www/html/;
    }

    location /images/ {
        root /var/www/html/;
    }
}

Поместим в каталог images файл foto.jpg и отредактируем index.html

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
<title>Галерея</title>
</head>
<body>
<p><a href="images/foto.jpg" target="_blank" dir="ltr">Вид красивого моста через реку. </a></p>
</body>
</html>

Вызываем в браузере веб сервер и щёлкаем по надписи.

Права доступа.

Права доступ к каталогам и файлам веб-сервера.

# chmod 755 /var/www/html
# chmod 644 /var/www/html/index.html
# chmod 755 /var/www/html/images
# chmod 644 /var/www/html/images/foto.jpg
# chown -R _nginx._nginx /var/www/html

Заключение.

В статье были показаны основные, базовые понятия, установки и настройке веб сервера Nginx с помощью ALT Linux. Администратор или опытный пользователь может без труда повторить, все действия описанные выше. На базе изложенного можно создавать простой информационный сайт, обладающий надёжностью, низкой стоимостью и скоростью. Одно из достоинств такого сайта — возможность использования его на очень «слабых» компьютерах и серверах. В следующей статье блога, будет рассказано о работе сервера с CMS Joomla.

Полезные ссылки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *