Nginx — различия между версиями
Материал из K.Wiki
Kirill (обсуждение | вклад) |
Kirill (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | В этой статье описывается установка и настройка веб-сервера nginx для работы с [[PHP]] и [[MySQL]] в операционной системе [[Ubuntu]]. | + | В этой статье описывается установка и настройка веб-сервера nginx для работы с [[PHP-FPM]] и [[MySQL]] в операционной системе [[Ubuntu]]. |
== Установка == | == Установка == | ||
Строка 95: | Строка 95: | ||
# service nginx reload; service nginx restart | # service nginx reload; service nginx restart | ||
− | == | + | === Ссылки === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
* [http://nginx.org/ru/docs/ngx_core_module.html Основная функциональность - nginx.org] | * [http://nginx.org/ru/docs/ngx_core_module.html Основная функциональность - nginx.org] | ||
* [http://nginx.org/ru/docs/http/ngx_http_core_module.html Модуль ngx_http_core_module - nginx.org] | * [http://nginx.org/ru/docs/http/ngx_http_core_module.html Модуль ngx_http_core_module - nginx.org] | ||
* [http://nginx.org/ru/docs/http/ngx_http_gzip_module.html Модуль ngx_http_gzip_module - nginx.org] | * [http://nginx.org/ru/docs/http/ngx_http_gzip_module.html Модуль ngx_http_gzip_module - nginx.org] | ||
+ | |||
+ | == Виртуальные хосты == | ||
+ | Виртуальные хосты используются для описания параметров отдельных сайтов, которые обслуживает nginx. | ||
+ | По-умолчанию, настройки хранятся в отдельных файлах в директории <tt>/etc/nginx/sites-available/</tt>, | ||
+ | а для активации хоста нужно создать символьную ссылку в директории <tt>/etc/nginx/sites-enabled/</tt> на соответствующий файл настроек | ||
+ | # ln -s /etc/nginx/sites-available/{имя сайта} /etc/nginx/sites-enabled/{имя сайта} | ||
+ | и перезапустить сервер | ||
+ | # service nginx reload; service nginx restart | ||
+ | |||
+ | Один файл может содержать описание для нескольких сайтов, каждое должно находиться логическом блоке | ||
+ | server { | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | === Шаблоны === | ||
+ | Шаблоны используются для подключения общих настроек. | ||
+ | |||
+ | == Ссылки == | ||
* [http://howitmake.ru/blog/ubuntu/80.html Настройка Nginx с поддержкой PHP-FPM в Ubuntu 12.04 (включает: Nginx, php-fpm, MySQL, Memcached)] | * [http://howitmake.ru/blog/ubuntu/80.html Настройка Nginx с поддержкой PHP-FPM в Ubuntu 12.04 (включает: Nginx, php-fpm, MySQL, Memcached)] | ||
− | |||
* [http://manualpages.pro/node/31 Полноценный http-сервер без Apache, на nginx+php-fpm под Debian Squeeze] | * [http://manualpages.pro/node/31 Полноценный http-сервер без Apache, на nginx+php-fpm под Debian Squeeze] | ||
[[Категория:База знаний]] | [[Категория:База знаний]] | ||
[[Категория:Linux]][[Категория:Ubuntu]] | [[Категория:Linux]][[Категория:Ubuntu]] |
Версия 11:23, 8 сентября 2014
В этой статье описывается установка и настройка веб-сервера nginx для работы с PHP-FPM и MySQL в операционной системе Ubuntu.
Установка
# apt-get install nginx
Файл конфигурации
Настройки хранятся в файле /etc/nginx/nginx.conf.
# Пользователь, от имени которого запускается nginx. user www-data; # Количество рабочих процессов, рекомендуется устанавливать по числу ядер. worker_processes 4; # Файл с ID процесса. pid /run/nginx.pid; # Директива уменьшает разрешение времени в рабочих процессах, за счёт чего уменьшается число системных вызовов gettimeofday(). timer_resolution 100ms; # Ограничение на максимальное число открытых файлов. worker_rlimit_nofile 8192; events { # Максимальное число подключений к серверу на один рабочий процесс. worker_connections 768; # Эффективный метод обработки соединений, используемый в Linux 2.6+ use epoll; # Если выключен, то рабочий процесс за один раз принимает только одно новое соединение. # multi_accept on; } http { ## # Основные настройки. ## # Разрешает или запрещает использовать sendfile(). sendfile on; # Разрешает или запрещает использование параметра сокета TCP_NOPUSH во FreeBSD или TCP_CORK в Linux. Параметр включаются только при использовании sendfile. tcp_nopush on; # Разрешает или запрещает использование параметра TCP_NODELAY. Параметр включаются только при переходе соединения в состояние keep-alive. tcp_nodelay on; # Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера. Значение 0 запрещает keep-alive соединения с клиентами. keepalive_timeout 65; # Задаёт максимальный размер хэш-таблиц типов. types_hash_max_size 2048; # Разрешает или запрещает выдавать версию nginx’а в сообщениях об ошибках и в поле “Server” заголовка ответа. server_tokens off; # Описание MIME-типов. include /etc/nginx/mime.types; # Задаёт MIME-тип ответов по умолчанию. default_type application/octet-stream; ## # Настройки логов. ## # Настройки файла логов доступа. access_log /var/log/nginx/access.log; # Настройки файла логов ошибок. error_log /var/log/nginx/error.log; ## # Настройки сжатия. ## # Разрешает или запрещает сжатие ответа методом gzip. gzip on; # Запрещает сжатие ответа методом gzip для запросов с полями заголовка “User-Agent”, совпадающими с заданными регулярными выражениями. gzip_disable "msie6"; # Разрешает или запрещает выдавать в ответе поле заголовка “Vary: Accept-Encoding”, если активны директивы gzip, gzip_static или gunzip. # gzip_vary on; # Разрешает или запрещает сжатие ответа методом gzip для проксированных запросов в зависимости от запроса и ответа. # gzip_proxied any; # Устанавливает степень сжатия ответа методом gzip. Допустимые значения находятся в диапазоне от 1 до 9. # gzip_comp_level 6; # Задаёт число и размер буферов, в которые будет сжиматься ответ. # gzip_buffers 16 8k; # Устанавливает минимальную HTTP-версию запроса, необходимую для сжатия ответа. # gzip_http_version 1.1; # Разрешает сжатие ответа методом gzip для указанных MIME-типов в дополнение к “text/html”. gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # Настройки виртуальных хостов. ## # Подключить дополнительные файлы настроек. include /etc/nginx/conf.d/*.conf; # Подключить настройки активных сайтов. include /etc/nginx/sites-enabled/*; }
Для учета изменений настроек нужно выполнить
# service nginx reload; service nginx restart
Ссылки
- Основная функциональность - nginx.org
- Модуль ngx_http_core_module - nginx.org
- Модуль ngx_http_gzip_module - nginx.org
Виртуальные хосты
Виртуальные хосты используются для описания параметров отдельных сайтов, которые обслуживает nginx. По-умолчанию, настройки хранятся в отдельных файлах в директории /etc/nginx/sites-available/, а для активации хоста нужно создать символьную ссылку в директории /etc/nginx/sites-enabled/ на соответствующий файл настроек
# ln -s /etc/nginx/sites-available/{имя сайта} /etc/nginx/sites-enabled/{имя сайта}
и перезапустить сервер
# service nginx reload; service nginx restart
Один файл может содержать описание для нескольких сайтов, каждое должно находиться логическом блоке
server { ... }
Шаблоны
Шаблоны используются для подключения общих настроек.