Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
NGINX может использоваться как HTTP / HTTPS-сервер, обратный прокси-сервер, почтовый прокси-сервер, балансировщик нагрузки, терминатор TLS или сервер кэширования. Это довольно модульный дизайн. Он имеет собственные модули и сторонние модули, созданные сообществом. Написанный на языке программирования C, это очень быстрое и легкое программное обеспечение.
ПРИМЕЧАНИЕ : NGINX имеет два потока версий, которые работают параллельно - стабильный и магистральный . Обе версии могут быть использованы на производственном сервере. Рекомендуется использовать основную версию в производстве.
Установка NGINX из исходного кода относительно «проста» - загрузите последнюю версию исходного кода NGINX, настройте, соберите и установите его.
В этом уроке я буду использовать основную версию, которая на момент написания статьи была 1.13.1. Обновите номера версий соответственно, когда появятся новые версии.
Обязательные требования:
Необязательные требования:
Создать обычного пользователя с sudo
доступом .
Переключиться на нового пользователя:
su - <username>
Обновление системы:
sudo apt update && sudo apt upgrade -y
NGINX - это программа, написанная на C, поэтому нам нужно установить компилятор C (GCC).
sudo apt install build-essential -y
Загрузите последнюю версию исходного кода NGINX и распакуйте его:
wget https://nginx.org/download/nginx-1.13.1.tar.gz && tar zxvf nginx-1.13.1.tar.gz
Загрузите исходный код зависимостей NGINX и распакуйте их:
# PCRE version 4.4 - 8.40
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz && tar xzvf pcre-8.40.tar.gz
# zlib version 1.1.3 - 1.2.11
wget http://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.0.2 - 1.1.0
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
Удалить все .tar.gz
файлы. Они нам больше не нужны:
rm -rf *.tar.gz
Перейдите в исходный каталог NGINX:
cd ~/nginx-1.13.1
Для получения справки вы можете получить список доступных параметров конфигурации, выполнив:
./configure --help
Сконфигурируйте, скомпилируйте и установите NGINX:
./configure --prefix=/usr/share/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=www-data \
--group=www-data \
--build=Ubuntu \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=enable-ec_nistp_64_gcc_128 \
--with-openssl-opt=no-nextprotoneg \
--with-openssl-opt=no-weak-ssl-ciphers \
--with-openssl-opt=no-ssl3 \
--with-pcre=../pcre-8.40 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-compat \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_stub_status_module \
--with-http_v2_module \
--with-http_secure_link_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-debug \
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' \
--with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
make
sudo make install
Удалите все загруженные файлы из домашнего каталога, в этом случае /home/username
:
cd ~
rm -r nginx-1.13.1/ openssl-1.1.0f/ pcre-8.40/ zlib-1.2.11/
Проверьте версию NGINX и опцию времени компиляции:
sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.13.0 (Ubuntu)
# built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx . . .
# . . .
# . . .
Проверьте синтаксис и возможные ошибки:
sudo nginx -t
# Will throw this error nginx: [emerg] mkdir() "/var/lib/nginx/body" failed (2: No such file or directory)
# Just create directory
mkdir -p /var/lib/nginx && sudo nginx -t
Создайте системный файл модуля для NGINX:
sudo vim /etc/systemd/system/nginx.service
Скопируйте / вставьте следующее содержимое:
ПРИМЕЧАНИЕ . Расположение файла PID и двоичного файла NGINX может отличаться в зависимости от того, как был скомпилирован NGINX.
[Unit]
Description=A high performance web server and a reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
Запустите и включите службу NGINX:
sudo systemctl start nginx.service && sudo systemctl enable nginx.service
Проверьте, запустится ли NGINX после перезагрузки:
sudo systemctl is-enabled nginx.service
# enabled
Проверьте, работает ли NGINX:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
Перезагрузите Ubuntu VPS, чтобы убедиться, что NGINX запускается автоматически:
sudo shutdown -r now
Создайте профиль приложения UFW NGINX:
sudo vim /etc/ufw/applications.d/nginx
Скопируйте / вставьте следующее содержимое:
[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp
[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp
[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp
Теперь убедитесь, что профили приложений UFW созданы и распознаны:
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Вот и все. Теперь у вас установлена новейшая версия NGINX. Он статически скомпилирован с некоторыми важными библиотеками, такими как OpenSSL. Зачастую системная версия OpenSSL устарела. Используя этот метод установки с более новой версией OpenSSL, вы можете использовать преимущества новых шифров, таких как CHACHA20_POLY1305
и протоколы, такие как TLS 1.3, которые будут доступны в OpenSSL 1.1.1
(который не был выпущен).
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше