Автор: Джек Тиан
Публичный аккаунт 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 по умолчаниюnobobyIdentity 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 架构Подождите, сегодня мы представим его здесь, если у вас есть какие-либо вопросы, не стесняйтесь оставлять сообщение для обсуждения.
Оригинальность непростая.Если вы считаете, что эта статья полезна для вас, ставьте лайк, комментируйте или пересылайте эту статью, потому что это будет моей мотивацией выпускать больше качественных статей, спасибо!