Для часто используемых серверов вы можете узнать больше об apache, tomcat (сервер приложений Java), lls и других серверах. Мы узнали больше о том, что nginx часто используется для обратных прокси. Суть в том, что nginx — это еще и высокопроизводительный веб-сервер. Обратный прокси-сервер, обычно используемый для ресурсов статической внешней страницы и балансировки нагрузки.
Ниже блоггер познакомит вас с nginx. И обратный прокси-сервер nginx, статические ресурсы и сравнение стресс-тестов.
Установить
Окружение автора - ubuntu 18.04, так что скачивать очень просто. Источник yum для Centos также имеет nginx. для окон. Просто скачайте и используйте его напрямую.
скачать нгинкс:sudo apt get nginx
Загрузите jmeter с официального сайта, установите его самостоятельно и распакуйте (sudo chomd -R 777 apache-jmeter-5.1.1)
Таким образом загружаются некоторые основные инструменты. Прямой доступ к nginx или sudo nginxlocalhostЕсли есть hello nginx, установка прошла успешно.Для jmeter, если вы его установили, то можете зайти на официальный сайт для его установки.
对于nginx安装后的一些路径,都在
Все файлы конфигурации находятся в /etc/nginx
Файлы программы находятся в /usr/sbin/nginx
Лог размещается в /var/log/nginx
и создали сценарий запуска nginx в /etc/init.d/
还有nginx的一些常用关闭命令
nginx -s reload : перезагрузка вступает в силу после изменения конфигурации.
nginx -s reopen : повторно открыть файлы журнала
Отключить нгинкс:
nginx -s stop : быстро остановить nginx
quit : полностью и упорядоченно остановить nginx
Другие способы остановить nginx:
ps -ef | grep nginx
убить -9 ххх
Если у вас недостаточно прав, не забудьте добавитьsudo
обратный прокси
Для nginx многие используют nginx+tomcat для балансировки нагрузки. Улучшить параллелизм системы.
Для файла конфигурации nginx в/etc/nginx/conf.d/под новымproxy.conf(также можно настроить в nginx/nginx.conf)
Например, я хочу использовать свой локальный порт 8081 для проксирования локального nginx.
Я изменил nginx/nginx.conf, чтобы удалить некоторые временно неиспользуемые файлы.
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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;
client_max_body_size 20m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
}
Таким образом, вы можете проксировать доступ к адресу сервера локальноhttp://localhost:8081/Конечно, если есть несколько серверов, которые можно настроить в восходящем направлении, можно также настроить вес каждого узла и так далее. Он не будет представлен подробно.
сервер статических ресурсов
Сегодня популярно разделение передней и задней части. nginx принимается многими энтузиастами фронтенда. Через nginx можно легко развернуть статические ресурсы, чтобы добиться эффекта динамического и статического разделения.
Настроить сервер статических ресурсов с помощью nginx очень просто.
Создайте новый static.conf в указанном выше файле того же уровня conf.d/
Корень — это абсолютный путь tomcat (вы можете настроить его по своему усмотрению), я заранее запустил index.jsp домашней страницы tomcat и сохранил его как файл index.html.
Ну, теперь мы закончили两件事:8081端口负载均衡(反向代理到我服务器),8082端口制成本地tomcat的静态文件服务器.
Затем откройте томкэт. Слева nginx как сервер для возврата статики
Добавьте группу потоков. Сначала протестируйте 15 000 потоков, запрашивающих домашнюю страницу одновременно в течение 1 с. Добавьте http-запрос в группу потоков. ip: локальный. порт: 8080
Добавьте свой любимый формат данных в Add -> Listener (вы можете найти плагин, если вам нужен qps)
В сравнении
Среди них tomcat, максимум около qps2400Результат nginx явно сильнее, максимум qps3000
Сравнение влияния на сервер
Когда 20000 одновременных запросов в течение 10 с. Прикрепленное состояние процессора на момент завершения работы процессора tomcat достигло 21,6%. Память составляет 6,4%, то есть с параллельным tomcat сильно давит на процессор и память сервера.Однако nginx почти не меняет память в процессе стресс-теста и почти не ест память. Использование процессора также меньше, чем у tomcat.
Суммировать:
показатель
nginx
tomcat
средний ответ
0ms
1ms
Лучшие 95% времени отклика
4
5
Верхнее время отклика 99%
7
16
запросов в секунду (наблюдение)
3000
2400
влияние на память
0%
6.4%
влияние на процессор
21.6%
14%
разное
Легкий и мощный
Java ест немного памяти и тормозит
(Среда измерения относительно однородна)
что сказать в спину
С помощью серии сравнений откройте для себя возможности nginx. Балансировка нагрузки и серверы статических ресурсов могут снизить нагрузку на параллелизм. И у nginx еще много знаний. Требуются дальнейшие исследования. И преимуществ nginx гораздо больше, чем эти, и вам нужно глубоко изучить!
В то же время, реклама для вашего собственного публичного аккаунта
Добро пожаловать на мой личный публичный номер: bigsai