Автор: Джек Тиан
Публичный аккаунт WeChat: путешествие Джейка в ИТ (идентификатор: Jake_Internet)
Это первый день моего участия в Gengwen Challenge. Чтобы узнать подробности о мероприятии, пожалуйста, проверьте:Обновить вызов
1. Что такое nginx?
Nginx
это высокая производительностьHTTP
и обратный проксиWeb
сервер, который также обеспечиваетIMAP / POP3 / SMTP
Сервис от Игоря Сайсуева на второе место по посещаемости в РоссииRambler.ru
разработан для сайта, первая общедоступная версия0.1.0
опубликовано2004年10月4日
Эта особенность заключается в том, что у него меньше памяти, сильная способность развиваться, стабилизировать и низкосистемный расход ресурсов для оптимизации производительности иHTTP
Высокая вычислительная мощность одновременных подключений может поддерживать один50000
количество одновременных подключений.
Ну, на самом делеNginx
Возможности параллелизма лучше на веб-сервере того же типа.В реальной среде, если мы используемNginx
Если да, то это может быть следующая схема архитектуры сценария. Фактически, на следующей архитектурной диаграммеNginx
Вы можете напрямую понимать сервер как сервер负载均衡服务器
или反向代理服务器
, так когда客户端
сделать запрос наNginx服务器
час,Nginx服务器
Его необходимо настроить с помощью правил客户端
Входящий запрос перенаправляется на серверLAMP
,Tomcat
,LNMP
начальство.
2. Зачем использовать Nginx?
как веб-сервер
По сравнению с Apache, Nginx использует меньше ресурсов и поддерживает больше одновременных подключений. В случае высокого параллелизма Nginx является альтернативой серверу Apache.Как сервер балансировки нагрузки, Nginx внутренне поддерживаетRails
иPHP
Внешний сервис программы, также поддерживает какHTTP代理服务器
Внешний сервис, использующийC语言
запись, независимо от накладных расходов системных ресурсов илиCPU
более эффективен, чемPerlbal
намного лучше.
Конфигурация Nginx проста, Apache сложен
Nginx легко запустить, почти можно сделать7*24
Он работает непрерывно в течение нескольких часов, даже если его долго не перезапускать, версия программного обеспечения может быть обновлена без перерыва. Производительность статической обработки более чем в 3 раза выше, чем у Apache. Nginx необходимо использовать с другими бэкэндами, в то время как поддержка Apache для PHP проще и имеет больше компонентов, чем Nginx.
Основная точка
Nginx асинхронный, а несколько соединений могут соответствовать одному процессу;
Apache — это синхронная многопроцессная модель, одно соединение соответствует одному процессу;
Области знаний
Nginx подходит для фронтальной обработки статических запросов;
Apache подходит для внутренней обработки динамических запросов;
3. Установка Nginx
Установить программное обеспечение поддержки
Конфигурация Nginx и требования к работеpcre
,zlib
Для поддержки пакетов программного обеспечения необходимо установить пакеты разработки этого программного обеспечения для соответствующих библиотек и файлов заголовков, чтобы обеспечить плавную установку Nginx.
# yum -y install pcre-devel zlib-devel
Создать работающего пользователя и группу
Сервер Nginx по умолчаниюnoboby
Identity Operation, рекомендуется создать новую учетную запись пользователя для более точного управления правами доступа, повышения гибкости и снижения рисков безопасности;
# useradd -M -s /sbin/nologin nginx
Скачайте, скомпилируйте и установите
При настройке параметров компиляции Nginx укажите каталог установки/usr/local/nginx
, текущий пользователь и группа настроены наnginx
; включитьhttp_stub_status_module
Модуль поддерживает статистику состояния, что удобно для просмотра информации о подключении сервера.
# wget http://nginx.org/download/nginx-1.17.0.tar.gz
# tar zxf nginx-1.17.0.tar.gz
# cd nginx-1.17.0
# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
# make && make install
Создайте файл ссылки для основной программы Nginx
# ln -s /usr/local/sbin/nginx /usr/local/sbin/
# ls -l /usr/local/sbin/nginx
lrwxrwxrwx. 1 root root 21 6月 4 07:31 /usr/local/sbin/nginx -> /usr/local/sbin/nginx
После установки введите путь установки по умолчаниюsbin
каталог, выполнитьnginx
Начать;
# cd /usr/local/nginx/sbin/
# pwd
/usr/local/nginx/sbin
# ./nginx
# nginx
Следите за статусом программы Nginx
# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 53816/nginx
Прослушав порт, получите к нему доступ прямо в браузереNginx
адрес, когда браузер видит следующую страницу, это указываетNginx
Он был успешно установлен.
Обслуживание скриптов с помощью Nginx
можно написатьNginx
Сервисный скрипт, использованиеchkconfig
иservice
инструменты для единого управления;
#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Server Control Scripts shell
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
if [ -f $PIDF ]; then
echo "Nginx is running.. Start it is error"
else
$PROG
fi
;;
stop)
if [ -f $PIDF ]; then
kill -s QUIT $(cat $PIDF)
rm -rf $PIDF
else
echo "Nginx is stopping .. Stop it is error"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
if [ -f $PIDF ]; then
kill -s HUP $(cat $PIDF)
else
echo "Nginx is stopping . reload it is error"
fi
;;
status)
if [ -f $PIDF ]; then
echo "Nginx is running"
else
echo "Nginx is stopping"
fi
;;
*)
echo "Usage: $0 (start|stop|restart|reload|status)"
exit 1
esac
exit 0
# chmod +x /etc/init.d/nginx
# chkconfig --add nginx
если измененоNginx
файл конфигурации, доступный через./nginx -s reload
команда загрузкиNginx
конфигурационный файл.
# ./nginx -s reload
Суммировать
Мы представили вышеупомянутоеNginx
Основная концепция, зачем использоватьNginx
, Установка Nginx имеет предварительное понимание, которое будет представлено в последующих статьях.正向代理
,反向代理
,负载均衡
а также构建 LNMP 架构
Подождите, сегодня мы представим его здесь, если у вас есть какие-либо вопросы, не стесняйтесь оставлять сообщение для обсуждения.
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!