. Настройка NGINX

...   Как настроить NGINX на (CentOS 64bit?)

NGINX - текущая версия: 1.15.5

NGINX - это легкий, высокопроизводительный веб-сервер, разработанный для случаев использования с высоким трафиком.
Одной из самых сильных функций NGINX является способность эффективно обслуживать статический контент, такой как HTML и медиа-файлы. NGINX использует асинхронную модель, управляемую событиями, которая обеспечивает предсказуемую производительность под нагрузкой.
NGINX передает динамический контент на CGI, FastCGI или другие веб-серверы, такие как Apache. Затем этот контент передается обратно в NGINX для доставки клиенту.


.   Директивы, блоки и контексты

Все файлы конфигурации NGINX находятся в каталоге /etc/nginx/. Основной файл конфигурации /etc/nginx/nginx.conf.

См. пункт меню - WinSCP

Файлы конфигурации NGINX находятся в каталоге /etc/nginx/

Параметры конфигурации в NGINX называются директивами. Директивы организованы в группы, известные как блоки или контексты . Два термина являются синонимами.
Строки, перед которыми стоит символ #, являются комментариями и не интерпретируются NGINX. Строки, содержащие директивы, должны заканчиваться символом ;, иначе NGINX не сможет загрузить конфигурацию и сообщить об ошибке.

Сжатая копия файла /etc/nginx/nginx.conf.

          
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    ...
    ## Загрузить другие файлы конфигурации из conf.d / ##
    include /etc/nginx/conf.d/*.conf;
}

Файл /etc/nginx/nginx.conf начинается с 4 -х директив: user, worker_processes, error_log, и pid.
Они находятся вне какого-либо конкретного блока или контекста, поэтому говорят, что они существуют в main контексте.
events и http блоки области для дополнительных директив, и они также существуют в main контексте.

Директивы конфигурации NGINX

  user

Задаёт пользователя и группу, с правами которого будут работать рабочие процессы. Если группа не задана, то используется группа, имя которой совпадает с именем пользователя.. (По умолчанию: user nobody nobody; Контекст: main )

  worker_processes

Задаёт число рабочих процессов. (По умолчанию: worker_processes 1; Контекст: main)

  error_log файл

Конфигурирует запись в лог.

  pid

Задаёт файл, в котором будет храниться номер (PID) главного процесса. (По умолчанию: pid /var/run/nginx.pid; Контекст: main)

  events { ... }

Предоставляет контекст конфигурационного файла, в котором указываются директивы, влияющие на обработку соединений. (Контекст: main)

.  Блок — http

Предоставляет контекст конфигурационного файла, в котором указываются директивы HTTP-сервера.

http-блок содержит директивы для обработки веб-трафика. Их часто называют универсальными, поскольку они передаются во все конфигурации веб-сайтов, которые обслуживает NGINX. См. Документацию NGINX для списка доступных директив для http-блока.

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

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

http-блок выше содержит директиву include, которая включает в конфигурацию файл или файлы веб-сайта(ов), расположеные в каталоге /etc/nginx/conf.d/ и имеющие расширение .conf. Включаемые файлы должны содержать синтаксически верные директивы и блоки.
Если вы установили NGINX из официального репозитория, в этой строке будет указано, include /etc/nginx/conf.d/*.conf;.
Каждый веб-сайт размещённый на NGINX, должен иметь свой собственный файл конфигурации /etc/nginx/conf.d/ с именем в формате example.com.conf. Сайты, которые отключены (не обслуживаются NGINX) должны быть переименованы в example.com.conf.disabled.
В зависимости от источника установки пример файла конфигурации можно найти по адресу /etc/nginx/conf.d/default.conf или etc/nginx/sites-enabled/default.

Независимо от источника установки файлы конфигурации сервера NGINX для веб-сайта будут содержать блок (или блоки) server. Например:
/etc/nginx/conf.d/default.conf

Выделите файл default.conf и нажмите Править.

.

Содержание default.conf.

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   //127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}  

.  Серверные блоки

Порты прослушивания

  listen

Директива говорит Nginx имя хоста / IP и порт TCP , где он должен прослушивать HTTP соединений. Аргумент default_server означает, что этот виртуальный хост будет отвечать на запросы через порт 80, которые не соответствуют определенному оператору прослушивания другого виртуального хоста.

IPv6-адреса задаются в квадратных скобках: listen [::]:80 Второе утверждение прослушивает IPv6 и ведет себя аналогично.

  server_name

Задаёт имена виртуального сервера
Первое имя становится основным именем сервера.

Корень местоположения и индекс

  root

Задаёт корневой каталог для запросов.

  index

Переменная сообщает NGINX, какой файл загружать, если он не указан

server {
    listen         80 default_server;
    listen         [::]:80 default_server;
    server_name    example.com www.example.com;
    root           /var/www/example.com;
    index          index.html;
    try_files $uri /index.html;
}

После внесения изменений, перезагрузите конфигурацию с помощью:
nginx -s reload

Перезапустить сервер Nginx - команда:

nginx -s reload

root@avege ~

Using username "root".
root@88.212.253.127's password:
Send automatic password
Last login: Wed Oct 24 13:24:55 2018 from 95.105.64.70

[root@avege ~]# nginx -s reload
[root@avege ~]#