Si të përpiloni Nginx nga burimi në Fedora 25

NGINX mund të përdoret si një server HTTP/HTTPS, server proxy të kundërt, server proxy mail, balancues ngarkese, terminator TLS ose server memorie. Nga dizajni është mjaft modular. Ka module vendase dhe module të palëve të treta të krijuara nga komuniteti. I shkruar në gjuhën e programimit C, është një softuer shumë i shpejtë dhe i lehtë.

NOTE: NGINX has two version streams that run in parallel - stable and mainline. Both versions can be used on a production server. It is recommended to use the mainline version in production.

Instalimi i NGINX nga kodi burimor është relativisht "i lehtë" - shkarkoni versionin më të fundit të kodit burimor NGINX, konfiguroni, ndërtoni dhe instaloni atë.

Në këtë tutorial do të përdor versionin kryesor , i cili është 1.13.3 në kohën e shkrimit. Përditësoni numrat e versioneve në përputhje me rrethanat kur versionet më të reja të jenë të disponueshme.

Kërkesat për ndërtimin e NGINX nga burimi

Kërkesat e detyrueshme:

  • Versioni i bibliotekës OpenSSL midis 1.0.2 - 1.1.0
  • Versioni i bibliotekës zlib midis 1.1.3 - 1.2.11
  • Versioni i bibliotekës PCRE midis 4.4 - 8.41
  • Përpiluesi GCC

Kërkesat opsionale:

Perpara se te fillosh

  1. Krijo përdorues të rregullt me sudoakses :

  2. Kalo te përdoruesi i ri:

    su - <username>
    
  3. Sistemi i përditësimit:

    sudo dnf check-update || sudo dnf upgrade -y
    

Ndërtoni NGINX nga burimi

  1. Instaloni "Veglat e Zhvillimit", redaktuesin Vim, wget dhe gcc-c++:

    sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
    
  2. Shkarkoni versionin më të fundit kryesor të kodit burimor NGINX dhe hiqni atë:

    wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
    
  3. Shkarkoni kodin burimor të varësive NGINX dhe nxirrni ato:

    NGINX depends on 3 libraries: PCRE, zlib and OpenSSL:

    # PCRE version 8.41
    wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz && tar xzvf pcre-8.41.tar.gz
    
    # zlib version 1.2.11
    wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
    
    # OpenSSL version 1.1.0f
    wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
    
  4. Shkarkoni dhe instaloni varësitë opsionale NGINX:

    # perl
    sudo dnf install -y perl perl-devel perl-ExtUtils-Embed
    
    # libxslt
    sudo dnf install -y libxslt libxslt-devel
    
    # libxml2
    sudo dnf install -y libxml2 libxml2-devel
    
    # libgd
    sudo dnf install -y gd gd-devel
    
    # GeoIP
    sudo dnf install -y GeoIP GeoIP-devel
    
    # Libatomic_Ops
    sudo dnf install -y libatomic_ops libatomic_ops-devel
    
  5. Hiq të gjithë .tar.gzskedarët. Nuk na duhen më:

    rm -rf *.tar.gz
    
  6. Shkoni te drejtoria e burimit NGINX:

    cd ~/nginx-1.13.3
    
  7. Për masë të mirë, listoni skedarët dhe drejtoritë e kodit burimor NGINX:

    ls
    # auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
  8. Kopjo faqen manuale NGINX në /usr/share/man/man8/:

    sudo cp ~/nginx-1.13.3/man/nginx.8 /usr/share/man/man8/
    sudo gzip /usr/share/man/man8/nginx.8
    # Check that Man page for NGINX is working
    man nginx
    
  9. Për ndihmë, mund të listoni çelësat e disponueshëm të konfigurimit duke ekzekutuar:

    ./configure --help
    # To see want core modules can be build as dynamic run:
    ./configure --help | grep -F =dynamic
    
  10. Konfiguroni, përpiloni dhe instaloni NGINX:

    ./configure --prefix=/etc/nginx \
                --sbin-path=/usr/sbin/nginx \
                --modules-path=/usr/lib64/nginx/modules \
                --conf-path=/etc/nginx/nginx.conf \
                --error-log-path=/var/log/nginx/error.log \
                --pid-path=/var/run/nginx.pid \
                --lock-path=/var/run/nginx.lock \
                --user=nginx \
                --group=nginx \
                --build=Fedora \
                --builddir=nginx-1.13.3 \
                --with-select_module \
                --with-poll_module \
                --with-threads \
                --with-file-aio \
                --with-http_ssl_module \
                --with-http_v2_module \
                --with-http_realip_module \
                --with-http_addition_module \
                --with-http_xslt_module=dynamic \
                --with-http_image_filter_module=dynamic \
                --with-http_geoip_module=dynamic \
                --with-http_sub_module \
                --with-http_dav_module \
                --with-http_flv_module \
                --with-http_mp4_module \
                --with-http_gunzip_module \
                --with-http_gzip_static_module \
                --with-http_auth_request_module \
                --with-http_random_index_module \
                --with-http_secure_link_module \
                --with-http_degradation_module \
                --with-http_slice_module \
                --with-http_stub_status_module \
                --with-http_perl_module=dynamic \
                --with-perl=/usr/bin/perl \
                --http-log-path=/var/log/nginx/access.log \
                --http-client-body-temp-path=/var/cache/nginx/client_temp \
                --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
                --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
                --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
                --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
                --with-mail=dynamic \
                --with-mail_ssl_module \
                --with-stream=dynamic \
                --with-stream_ssl_module \
                --with-stream_realip_module \
                --with-stream_geoip_module=dynamic \
                --with-stream_ssl_preread_module \
                --with-compat \
                --with-pcre=../pcre-8.41 \
                --with-pcre-jit \
                --with-zlib=../zlib-1.2.11 \
                --with-openssl=../openssl-1.1.0f \
                --with-openssl-opt=no-nextprotoneg \
                --with-debug
    
    make
    sudo make install
    
  11. Printoni versionin NGINX, versionin e përpiluesit dhe konfiguroni parametrat e skriptit:

    nginx -V
    
    # nginx version: nginx/1.13.3 (Fedora)
    # built by gcc 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
    # built with OpenSSL 1.1.0f  25 May 2017
    # TLS SNI support enabled
    # configure arguments: --prefix=/etc/nginx . . .
    # . . .
    
  12. Krijo përdoruesin dhe grupin e sistemit NGINX:

    sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
    
  13. Kontrolloni sintaksën dhe gabimet e mundshme:

    sudo nginx -t
    # Will throw this error: nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
    # Just create directory
    sudo mkdir -p /var/cache/nginx/ && sudo nginx -t
    
  14. Krijoni një skedar të njësisë së sistemit për NGINX:

    sudo vim /etc/systemd/system/nginx.service
    
  15. Kopjo/ngjit përmbajtjen e mëposhtme:

    NOTE: The location of the PID file and the NGINX binary may be different depending on how NGINX was compiled.

    [Unit]
    Description=Nginx - A high performance web server and a reverse proxy server
    Documentation=http://nginx.org/en/docs/
    After=network.target
    
    [Service]
    Type=forking
    PIDFile=/var/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 /var/run/nginx.pid
    TimeoutStopSec=5
    KillMode=mixed
    
    [Install]
    WantedBy=multi-user.target
    
  16. Filloni NGINX:

    sudo systemctl start nginx.service
    
  17. Aktivizo NGINX që të fillojë automatikisht në nisje:

    sudo systemctl enable nginx.service
    
  18. Kontrolloni nëse NGINX do të fillojë pas një rindezjeje:

    sudo systemctl is-enabled nginx.service
    # enabled
    
  19. Kontrolloni nëse NGINX po funksionon:

    sudo systemctl status nginx.service
    ps aux | grep nginx
    curl -I 127.0.0.1
    
  20. Rinisni VPS-në tuaj për të verifikuar që NGINX fillon automatikisht:

    sudo shutdown -r now
    
  21. Hiq skedarët arkaikë nga /etc/nginx/drejtoria:

    sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
    
  22. Vendosni skedarët e nënvizimit të sintaksës të konfigurimit NGINX për vim~/.vim/. Do të paraqiteni me një theksim të bukur sintaksor kur redaktoni skedarin e konfigurimit NGINX:

    mkdir ~/.vim/
    cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
    
  23. Krijoni një conf.d/drejtori në /etc/nginx/drejtori. Në këtë direktori, ju mund të vendosni serverë virtualë dhe në rrjedhën e sipërme:

    sudo mkdir /etc/nginx/conf.d/
    
  24. Hiqni drejtoritë dhe skedarët e nxjerrë nga drejtoria juaj kryesore:

    rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
    

konkluzioni

Kjo eshte. Tani keni të instaluar versionin më të ri të NGINX. Është përpiluar në mënyrë statike kundër disa bibliotekave të rëndësishme si OpenSSL. Shpesh, versioni OpenSSL i sistemit është i vjetëruar. Duke përdorur këtë metodë të instalimit me një version më të ri të OpenSSL, ju mund të përfitoni nga kodet e reja si CHACHA20_POLY1305dhe protokollet si TLS 1.3 që do të jenë të disponueshme në OpenSSL 1.1.1(i cili nuk është lëshuar në kohën e shkrimit).


Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? BigTree CMS 4.2 është një sistem i shpejtë dhe i lehtë, pa pagesë dhe me burim të hapur, sistem i menaxhimit të përmbajtjes së nivelit të ndërmarrjes (CMS) me një

Si të instaloni Koel në Fedora 28

Si të instaloni Koel në Fedora 28

Përdorimi i një sistemi të ndryshëm? Koel është një aplikacion i thjeshtë transmetimi audio personal i bazuar në ueb, i shkruar në Vue në anën e klientit dhe Laravel në anën e serverit. Koe

Si të instaloni Grav CMS në Fedora 28

Si të instaloni Grav CMS në Fedora 28

Përdorimi i një sistemi të ndryshëm? Grav është një CMS me skedar të sheshtë me burim të hapur i shkruar në PHP. Kodi burimor Grav është i pritur publikisht në GitHub. Ky udhëzues do t'ju tregojë se si t

Instalimi i Akaunting në Fedora 28

Instalimi i Akaunting në Fedora 28

Përdorimi i një sistemi të ndryshëm? Akaunting është një softuer kontabël falas, me burim të hapur dhe në internet i krijuar për bizneset e vogla dhe përkthyes të pavarur. Është ndërtuar me zgjuarsi

Si të instaloni lexuesin Tiny Tiny RSS në një Fedora 26 LAMP VPS

Si të instaloni lexuesin Tiny Tiny RSS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Tiny Tiny RSS Reader është një lexues dhe grumbullues i lajmeve të bazuara në ueb (RSS/Atom), falas dhe me burim të hapur, i krijuar për të dhënë

Si të instaloni InvoicePlane në Fedora 28

Si të instaloni InvoicePlane në Fedora 28

Përdorimi i një sistemi të ndryshëm? InvoicePlane është një aplikacion faturimi falas dhe me burim të hapur. Kodi burimor i tij mund të gjendet në këtë depo Github. Ky udhëzues

Instaloni një server Minecraft në Fedora 26

Instaloni një server Minecraft në Fedora 26

Përdorimi i një sistemi të ndryshëm? Në këtë tutorial, unë do t'ju udhëzoj përmes vendosjes së një serveri Minecraft në një SSD VPS me performancë të lartë në Vultr. Do të mësoni ho

Si të përpiloni Nginx nga burimi në Fedora 25

Si të përpiloni Nginx nga burimi në Fedora 25

Përdorimi i një sistemi të ndryshëm? NGINX mund të përdoret si një server HTTP/HTTPS, server proxy i kundërt, server proxy mail, balancues ngarkese, terminator TLS ose cachin

Si të instaloni Pagekit 1.0 CMS në një Fedora 26 LAMP VPS

Si të instaloni Pagekit 1.0 CMS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Pagekit 1.0 CMS është një Sistem i Menaxhimit të Përmbajtjes (CMS) i bukur, modular, i zgjatshëm dhe i lehtë, pa pagesë dhe me burim të hapur me

Si të instaloni Subrion 4.1 CMS në një Fedora 26 LAMP VPS

Si të instaloni Subrion 4.1 CMS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Subrion 4.1 CMS është një sistem i fuqishëm dhe fleksibël i menaxhimit të përmbajtjes me burim të hapur (CMS) që sjell një përmbajtje intuitive dhe të qartë

Instaloni TaskServer (taskd) në Fedora 26

Instaloni TaskServer (taskd) në Fedora 26

Përdorimi i një sistemi të ndryshëm? TaskWarrior është një mjet i menaxhimit të kohës me burim të hapur që është një përmirësim në aplikacionin Todo.txt dhe klonet e tij. Për shkak të th

Si të instaloni CMS Made Simple 2.2 në një Fedora 26 LAMP VPS

Si të instaloni CMS Made Simple 2.2 në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? CMS Made Simple 2.2 është një Sistem i Menaxhimit të Përmbajtjes (CMS) fleksibël dhe i zgjerueshëm, pa pagesë dhe me burim të hapur, i krijuar në mënyrë inteligjente për të

Instalimi i Bro IDS në Fedora 25

Instalimi i Bro IDS në Fedora 25

Përdorimi i një sistemi të ndryshëm? Hyrje Bro është një analizues i trafikut të rrjetit me burim të hapur. Është kryesisht një monitor sigurie që inspekton të gjithë trafikun në një linjë

Si të instaloni X-Cart 5 në Fedora 31

Si të instaloni X-Cart 5 në Fedora 31

Përdorimi i një sistemi të ndryshëm? X-Cart është një platformë jashtëzakonisht fleksibël e tregtisë elektronike me burim të hapur me shumë veçori dhe integrime. Kodi burimor i X-Cart është host

Si të instaloni Matomo Analytics në Fedora 28

Si të instaloni Matomo Analytics në Fedora 28

Përdorimi i një sistemi të ndryshëm? Matomo (dikur Piwik) është një platformë analitike me burim të hapur, një alternativë e hapur për Google Analytics. Burimi Matomo është pritur o

Si të instaloni MyBB në Fedora 28

Si të instaloni MyBB në Fedora 28

Përdorimi i një sistemi të ndryshëm? MyBB është një program forumi falas dhe me burim të hapur, intuitiv dhe i shtrirë. Kodi burimor MyBB është pritur në GitHub. Ky udhëzues do të shkojë

Si të instaloni dhe konfiguroni TaskBoard në Fedora 30

Si të instaloni dhe konfiguroni TaskBoard në Fedora 30

Përdorimi i një sistemi të ndryshëm? Hyrje TaskBoard është një mjet falas dhe me burim të hapur që mund të përdoret për të mbajtur gjurmët e gjërave që duhet të bëhen. Ajo siguron

Si të instaloni LimeSurvey CE në Fedora 28

Si të instaloni LimeSurvey CE në Fedora 28

Përdorimi i një sistemi të ndryshëm? LimeSurvey është një program sondazhi me burim të hapur i shkruar në PHP. Kodi burimor i LimeSurvey është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni Backdrop CMS 1.8.0 në një Fedora 26 LAMP VPS

Si të instaloni Backdrop CMS 1.8.0 në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? Sfondi CMS 1.8.0 është një Sistem i Menaxhimit të Përmbajtjes (CMS) i thjeshtë dhe fleksibël, i përshtatshëm për celularin, pa pagesë dhe me burim të hapur që na lejon

Si të instaloni Craft CMS në Fedora 29

Si të instaloni Craft CMS në Fedora 29

Përdorimi i një sistemi të ndryshëm? Craft CMS është një CMS me burim të hapur i shkruar në PHP. Kodi burimor CMS Craft është pritur në GitHub. Ky udhëzues do t'ju tregojë se si ta instaloni

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë