- Автор темы
- Администратор
- Модер.
- Команда форума
- #1
Для этой конфигурации вы можете использовать веб-сервер, который вам нравится, я решил, поскольку работаю в основном с ним, использовать nginx.
Правильно настроенный nginx может обрабатывать до 400K - 500K запросов в секунду (кластеризованный). Большинство серверов способны обрабатывать от 50K до 80K (некластеризованных) запросов в секунду и 30% загрузка процессора.
Вы должны понимать, что этот конфиг используется в тестовой среде, а не в производственной, поэтому вам нужно будет найти способ реализовать большинство этих функций как можно лучше для ваших серверов.
Создайте резервную копию исходных конфигураций и можете приступать к их перенастройке. Вам нужно будет открыть файл nginx.conf по адресу /etc/nginx/nginx.conf с помощью вашего любимого редактора.
Теперь вы можете сохранить конфигурацию и выполнить следующую команду
Если вы хотите сначала протестировать конфигурацию, вы можете выполнить команду
Просто из соображений безопасности
Правильно настроенный nginx может обрабатывать до 400K - 500K запросов в секунду (кластеризованный). Большинство серверов способны обрабатывать от 50K до 80K (некластеризованных) запросов в секунду и 30% загрузка процессора.
Вы должны понимать, что этот конфиг используется в тестовой среде, а не в производственной, поэтому вам нужно будет найти способ реализовать большинство этих функций как можно лучше для ваших серверов.
Создайте резервную копию исходных конфигураций и можете приступать к их перенастройке. Вам нужно будет открыть файл nginx.conf по адресу /etc/nginx/nginx.conf с помощью вашего любимого редактора.
Код:
nano /etc/nginx/nginx.conf
NGINX:
# вы должны установить рабочие процессы на основе ваших ядер процессора, nginx не выиграет, если установит большее количество.
worker_processes auto;
# последние версии вычисляют его автоматически
# количество файловых дескрипторов, используемых для nginx
# ограничение на максимальное количество FD на сервере обычно устанавливается ОС.
# если вы не установите FD, то будут использоваться настройки ОС, которые по умолчанию равны 2000
worker_rlimit_nofile 100000;
# регистрировать только критические ошибки
error_log /var/log/nginx/error.log crit;
# предоставляет контекст конфигурационного файла, в котором задаются директивы, влияющие на обработку соединений.
events {
# определяет, сколько клиентов будет обслуживаться на одного рабочего
# max clients = worker_connections * worker_processes
# max clients также ограничено количеством сокетных соединений, доступных в системе (~64k)
worker_connections 4000;
# оптимизирован для обслуживания многих клиентов каждым потоком, что важно для linux -- для тестовой среды
use epoll;
# принимать как можно больше соединений, при слишком низком значении может переполнить рабочие соединения -- для тестовой среды
multi_accept on;
}
http {
# кэш-информация о FD, часто используемых файлах
# может увеличить производительность, но вам нужно проверить эти значения.
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
# для увеличения ввода-вывода (I/O) на HDD мы можем отключить журналы доступа
access_log off;
# копирует данные между одним FD и другим из ядра
# быстрее, чем read() + write()
sendfile on;
# отправлять заголовки одним куском, это лучше, чем отправлять их по одному
tcp_nopush on;
# уменьшение объема данных, которые необходимо передавать по сети -- для тестовой среды
gzip on;
# gzip_static on;
gzip_min_length 10240;
gzip_comp_level 1;
gzip_vary on;
gzip_disable msie6;
gzip_proxied expired no-cache no-store private auth;
gzip_types
# text/html is always compressed by HttpGzipModule
text/css
text/javascript
text/xml
text/plain
text/x-component
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
application/atom+xml
font/truetype
font/opentype
application/vnd.ms-fontobject
image/svg+xml;
# разрешить серверу закрывать соединение на не отвечающем клиенте, это освободит память
reset_timedout_connection on;
# таймаут запроса - по умолчанию 60
client_body_timeout 10;
# если клиент перестал отвечать, освободить память -- по умолчанию 60
send_timeout 2;
# сервер закроет соединение через это время - по умолчанию 75
keepalive_timeout 30;
# количество запросов, которые клиент может сделать в режиме keep-alive -- для тестовой среды
keepalive_requests 100000;
}
Теперь вы можете сохранить конфигурацию и выполнить следующую команду
Код:
nginx -s reload
/etc/init.d/nginx restart
Если вы хотите сначала протестировать конфигурацию, вы можете выполнить команду
Код:
nginx -t
/etc/init.d/nginx configtest
Просто из соображений безопасности
Код:
server_tokens off;
Последнее редактирование: