Nginx е най-бързо развиващият се уеб сървър днес на публични сървъри, насочени към интернет, благодарение на своя безплатен модулен модел с отворен код, висок производителност, стабилност, прости конфигурационни файлове, асинхронна архитектура (управлявана от събития) и малко ресурси, необходими за тичам.
Този урок ще ви напътства как да инсталирате най-новата стабилна версия на Nginx На Базирани на RHEL дистрибуции от източници, тъй като официалните системни хранилища не предоставят двоичен пакет.
Ако искате да избегнете инсталирането на източници, можете да добавите официален Nginx хранилище и инсталирайте двоичния пакет с помощта на вкусно или dnf мениджър на пакети, както е показано:
Съдържание
Преди да инсталирате nginx, трябва да активирате хранилището за пакети на nginx RHEL и негови производни като CentOS, Rocky Linux, AlmaLinux и Oracle Linux. След това можете да инсталирате и актуализирате nginx от хранилището.
Първо инсталирайте yum-utils пакет, както е показано.
# yum инсталирайте yum-utils.
За да активирате nginx официално хранилище на yum, създайте файла с име /etc/yum.repos.d/nginx.repo със следното съдържание:
[nginx-стабилен] име=nginx стабилно репо. baseurl= http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1. активиран=1. gpgkey= https://nginx.org/keys/nginx_signing.key. module_hotfixes=true.
След това можете да инсталирате и актуализирате nginx от хранилището.
# yum инсталирайте nginx.
Важно: Моля, имайте предвид, че следването на горните официални хранилища на nginx yum ще ви даде по-стара версия на nginx, ако наистина искате да изградите най-новата версия на Nginx, тогава ви предлагам да следвате инсталацията на източника, както е показано По-долу.
Използването на компилация и инсталиране на източници има някои предимства, защото можете да инсталирате най-новата налична версия, можете да промените конфигурацията на Nginx, като добавите или премахване на модули и промяна на инсталационния системен път или други важни настройки, с други думи, имате пълен контрол върху инсталацията процес.
Преди да започнете процеса на компилиране и инсталиране на Nginx, уверете се, че имате C/C++ компилатор, PCRE (Съвместими с Perl регулярни изрази), Zlib библиотека за компресиране, и OpenSSL (ако възнамерявате да стартирате Nxing с поддръжка на SSL) пакети, инсталирани на вашата машина чрез подаване на следната команда.
# yum -y инсталирайте gcc gcc-c++ make zlib-devel pcre-devel openssl-devel.
Сега отидете на Страница за изтегляне на Nginx и вземете най-новата стабилна версия на изходния архив на Nginx, като използвате следното wget команда, след това извлечете архива на nginx и се преместете в Nginx извлечена директория, както е показано.
# wget http://nginx.org/download/nginx-1.23.4.tar.gz. # tar xfz nginx-1.23.4.tar.gz # cd nginx-1.23.4. # ls -всички.
Следващата стъпка е да персонализирате Nginx процес на инсталиране с помощта на конфигурирайте
файл за визуализиране на конфигурационни опции и модули, необходими за процеса на компилиране на Nginx, като използвате следната команда.
# ./configure --help.
Сега е време за компилиране Nginx с вашите специфични конфигурации и активирани или деактивирани модули. За този урок бяха използвани следните модули и спецификации, но можете да настроите компилацията според вашите нужди.
--user=nginx
– задайте системния потребител, от който ще работи Nginx.--group=nginx
– задайте системната група, от която ще работи Nginx.--prefix=/etc/nginx
– директория за сървърни файлове (nginx.conf файл и други конфигурационни файлове) – по подразбиране е /usr/local/nginx директория.--sbin-path=/usr/sbin/nginx
– Местоположение на изпълнимия файл на Nginx.--conf-path=/etc/nginx/nginx.conf
– задава името на конфигурационния файл nginx.conf – можете да го промените.--error-log-path=/var/log/nginx/error.log
– задава местоположението на регистрационния файл за грешки на Nginx.--http-log-path=/var/log/nginx/access.log
– задава местоположението на регистрационния файл за достъп на Nginx.--pid-path=/var/run/nginx.pid
– задава името на основния файл с ID на процеса.--lock-path=/var/run/nginx.lock
– задава името на файла за заключване на Nginx.--с-http_ssl_module
– позволява изграждане на HTTPS модул – не е изграден по подразбиране и изисква OpenSSL библиотека.--с-pcre
– задава пътя към източниците на PCRE библиотеката – не е изградена по подразбиране и изисква PCRE библиотека.За да видите списък с всички модули на Nginx, посетете уеб страницата с документи на Nginx на адрес http://wiki.nginx.org/Modules.
Ако не се нуждаете от инсталиран конкретен модул Nginx можете да го деактивирате, като използвате следната команда.
--без име_на_модул
Сега започнете да компилирате Nginx чрез подаване на следната команда, която ще използва всички конфигурации и модули, обсъдени по-горе (уверете се, че командата остава на един ред).
# ./configure --user=nginx --group=nginx --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --с-http_ssl_module --с-pcre.
След като процесът на компилиране провери всички необходими на системата помощни програми като GNU C компилатор, PCRE и OpenSSL библиотеки, той създава make.conf
файл и извежда обобщение на всички конфигурации.
Резюме на компилацията на Nginx
Резюме на конфигурацията + използване на системна библиотека PCRE2 + използване на системна библиотека OpenSSL + използване на системна библиотека zlib Префикс на пътя на nginx: "/etc/nginx" двоичен файл на nginx: "/usr/sbin/nginx" nginx модулен път: "/etc/nginx/modules" nginx конфигурационен префикс: "/etc/nginx" nginx конфигурационен файл: "/etc/nginx/nginx.conf" nginx pid файл: "/var/run/nginx.pid" Регистрационен файл за грешка на nginx: "/var/log/nginx/error.log" Регистрационен файл за http достъп на nginx: "/var/log/nginx/access.log" Тяло на заявката на nginx http клиент временни файлове: "client_body_temp" nginx http прокси временни файлове: "proxy_temp" nginx http fastcgi временни файлове: "fastcgi_temp" nginx http uwsgi временни файлове: "uwsgi_temp" nginx http scgi временни файлове: "scgi_temp"
Последната стъпка е да се изградят двоичните файлове с помощта на направи
команда, която може да отнеме известно време, за да завърши в зависимост от ресурсите на вашата машина, и инсталирайте Nginx на вашата система с направете инсталиране
команда.
Внимавайте, че направете инсталиране
командата изисква root привилегии за извършване на инсталацията, така че ако не сте влезли с root акаунт, използвайте привилегирован потребител с sudo.
# направи. # направете инсталиране.
След като процесът на инсталиране завърши успешно, добавете nginx потребител на системата (с /etc/nginx/ като негова домашна директория и без валидна обвивка), потребителят, от който Nginx ще работи, като издаде следното команда useradd.
# useradd -d /etc/nginx/ -s /sbin/nologin nginx.
Докато компилирахме, бяхме уточнили това Nginx ще тече от nginx системен потребител, отворен nginx.conf файл и променете потребителското изявление на nginx.
# nano /etc/nginx/nginx.conf. ИЛИ. # vi /etc/nginx/nginx.conf.
Тук намерете и променете потребителя, а също така документирайте изявленията за коренно местоположение със следните опции.
потребител nginx; местоположение / { root /var/www/html; включен автоиндекс; индекс индекс.html индекс.htm;
Преди започване Nginx, уверете се, че сте създали основния път на уеб документа, след което започнете nginx използвайки следната команда.
# mkdir -p /var/www/html. # /usr/sbin/nginx.
Ако искате да проверите дали Nginx се изпълнява с помощта на командния ред, стартирайте команда netstat за проверка на TCP връзката.
# netstat -tulpn | grep nginx.
За проверка Nginx от отдалечена система, добавете правило за защитна стена, за да отворите връзка към външната страна на порт 80 и 443.
# firewall-cmd --permanent --add-service=http. # firewall-cmd --permanent --add-service=https. # systemctl рестартирайте защитната стена.
Накрая отворете браузър и насочете URL адреса към вашия IP адрес на сървъра на:
http://server_IP.
За да управлявате Nginx използвайте следните команди.
# /usr/sbin/nginx -V [покажи Nginx модули и конфигурации] # /usr/sbin/nginx -h [опции за помощ] # /usr/sbin/nginx -t [проверете конфигурационния файл] # /usr/sbin/nginx [стартиране на Nginx процес] # /usr/sbin/nginx -s стоп [спиране на Nginx процес] # /usr/sbin/nginx -s презареждане [презареждане на Nginx процес]
Ако трябва да управлявате Nginx демон процес чрез a systemd скрипт, създайте следния файл на /lib/systemd/system/nginx.serviceи след това можете да използвате systemctl команди за управление на процеса.
# vi /lib/systemd/system/nginx.service.
Добавете следното съдържание на файла.
[Мерна единица] Описание = NGINX HTTP и обратен прокси сървър. After=syslog.target network-online.target remote-fs.target nss-lookup.target. Wants=network-online.target [Услуга] Тип=разклонение. PIDFile=/run/nginx.pid. ExecStartPre=/usr/sbin/nginx -t. ExecStart=/usr/sbin/nginx. ExecReload=/usr/sbin/nginx -s презареждане. ExecStop=/bin/kill -s ИЗХОД $MAINPID. PrivateTmp=true [Инсталиране] WantedBy=multi-user.target.
След като файлът Nginx systemd бъде създаден, управлявайте демона с помощта на командите по-долу.
# systemctl стартира nginx. # systemctl спира nginx. # systemctl състояние nginx.
[ Може да ви хареса също: Как да защитите, втвърдите и подобрите производителността на Nginx сървъра ]
Това е всичко! Сега имате най-новата версия на Nginx инсталиран на вашите базирани на RHEL дистрибуции. В следващия урок ще обсъдя как да инсталирам и активирам мениджъра на процеси PHP-FPM чрез Nginx FastCGI Gateway.