Hvernig á að setja saman Nginx frá uppruna á Fedora 25

NGINX er hægt að nota sem HTTP/HTTPS þjón, öfugur proxy þjónn, póst proxy þjónn, álagsjafnari, TLS terminator eða skyndiminni miðlara. Það er alveg mát að hönnun. Það hefur innfæddar einingar og þriðja aðila einingar búnar til af samfélaginu. Það er skrifað á C forritunarmálinu og er mjög fljótur og léttur hugbúnaður.

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.

Það er tiltölulega „auðvelt“ að setja upp NGINX frá frumkóða - halaðu niður nýjustu útgáfunni af NGINX frumkóðanum, stilltu, byggðu og settu hann upp.

Í þessari kennslu mun ég nota aðalútgáfuna , sem er 1.13.3 þegar þetta er skrifað. Uppfærðu útgáfunúmer í samræmi við það þegar nýrri útgáfur verða fáanlegar.

Kröfur til að byggja NGINX frá uppruna

Lögboðnar kröfur:

  • OpenSSL bókasafnsútgáfa á milli 1.0.2 - 1.1.0
  • zlib bókasafnsútgáfa á milli 1.1.3 - 1.2.11
  • PCRE bókasafnsútgáfa á milli 4.4 - 8.41
  • GCC þýðandi

Valkvæðar kröfur:

Áður en þú byrjar

  1. Búðu til venjulegan notanda með sudoaðgang :

  2. Skiptu yfir í nýja notandann:

    su - <username>
    
  3. Uppfæra kerfi:

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

Byggðu NGINX frá uppruna

  1. Settu upp „Þróunarverkfæri“, Vim ritstjóra, wget og gcc-c++:

    sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
    
  2. Hladdu niður nýjustu aðalútgáfunni af NGINX frumkóðanum og taktu hann af:

    wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
    
  3. Sæktu frumkóða NGINX ósjálfstæðis og dragðu þá út:

    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. Hladdu niður og settu upp valfrjálsa NGINX ósjálfstæði:

    # 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. Fjarlægðu allar .tar.gzskrár. Við þurfum þá ekki lengur:

    rm -rf *.tar.gz
    
  6. Farðu í NGINX upprunaskrána:

    cd ~/nginx-1.13.3
    
  7. Til að mæla með, skráðu NGINX frumkóðaskrár og möppur:

    ls
    # auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
  8. Afritaðu NGINX handbókarsíðuna á /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. Fyrir hjálp geturðu skráð tiltæka stillingarrofa með því að keyra:

    ./configure --help
    # To see want core modules can be build as dynamic run:
    ./configure --help | grep -F =dynamic
    
  10. Stilltu, settu saman og settu upp 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. Prentaðu NGINX útgáfuna, þýðandaútgáfuna og stilltu forskriftarfæribreytur:

    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. Búðu til NGINX kerfisnotandann og hópinn:

    sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
    
  13. Athugaðu setningafræði og hugsanlegar villur:

    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. Búðu til systemd einingaskrá fyrir NGINX:

    sudo vim /etc/systemd/system/nginx.service
    
  15. Afritaðu/límdu eftirfarandi efni:

    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. Byrjaðu NGINX:

    sudo systemctl start nginx.service
    
  17. Virkjaðu NGINX til að byrja sjálfkrafa við ræsingu:

    sudo systemctl enable nginx.service
    
  18. Athugaðu hvort NGINX ræsist eftir endurræsingu:

    sudo systemctl is-enabled nginx.service
    # enabled
    
  19. Athugaðu hvort NGINX sé í gangi:

    sudo systemctl status nginx.service
    ps aux | grep nginx
    curl -I 127.0.0.1
    
  20. Endurræstu VPS til að staðfesta að NGINX ræsist sjálfkrafa:

    sudo shutdown -r now
    
  21. Fjarlægðu archaic skrár úr /etc/nginx/möppunni:

    sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
    
  22. Settu setningafræði auðkenningarskrár af NGINX stillingum fyrir vimí ~/.vim/. Þú verður kynnt með fallegri setningafræði auðkenningu þegar þú breytir NGINX stillingarskrá:

    mkdir ~/.vim/
    cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
    
  23. Búðu til conf.d/möppu í /etc/nginx/möppunni. Í þessari möppu geturðu sett sýndarþjóna og andstreymi:

    sudo mkdir /etc/nginx/conf.d/
    
  24. Fjarlægðu útdrættar möppur og skrár úr heimamöppunni þinni:

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

Niðurstaða

Það er það. Þú hefur nú nýjustu útgáfuna af NGINX uppsett. Það er sett saman á kyrrstöðu gegn nokkrum mikilvægum bókasöfnum eins og OpenSSL. Oft er kerfis OpenSSL útgáfan úrelt. Með því að nota þessa uppsetningaraðferð með nýrri útgáfu af OpenSSL geturðu nýtt þér nýjar dulmál eins CHACHA20_POLY1305og og samskiptareglur eins og TLS 1.3 sem verða fáanlegar í OpenSSL 1.1.1(sem hefur ekki verið gefið út þegar þetta er skrifað).


Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Hvernig á að setja upp BigTree CMS á Fedora 26 LAMP VPS

Að nota annað kerfi? BigTree CMS 4.2 er hraðvirkt og létt, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) fyrir fyrirtæki með víðtæka

Hvernig á að setja upp Koel á Fedora 28

Hvernig á að setja upp Koel á Fedora 28

Að nota annað kerfi? Koel er einfalt vefbundið persónulegt hljóðstraumsforrit skrifað í Vue á biðlarahlið og Laravel á miðlarahlið. Koe

Hvernig á að setja upp Grav CMS á Fedora 28

Hvernig á að setja upp Grav CMS á Fedora 28

Að nota annað kerfi? Grav er opinn uppspretta flatskrár CMS skrifað í PHP. Grav frumkóði er hýst opinberlega á GitHub. Þessi handbók mun sýna þér hvernig t

Að setja upp Akaunting á Fedora 28

Að setja upp Akaunting á Fedora 28

Að nota annað kerfi? Akaunting er ókeypis, opinn uppspretta og bókhaldshugbúnaður á netinu hannaður fyrir lítil fyrirtæki og sjálfstæðismenn. Það er byggt vit

Hvernig á að setja upp Tiny Tiny RSS Reader á Fedora 26 LAMP VPS

Hvernig á að setja upp Tiny Tiny RSS Reader á Fedora 26 LAMP VPS

Að nota annað kerfi? Tiny Tiny RSS Reader er ókeypis og opinn uppspretta sjálf-hýstinn fréttastraumur (RSS/Atom) lesandi og safnari, hannaður til að dreifa

Hvernig á að setja upp InvoicePlane á Fedora 28

Hvernig á að setja upp InvoicePlane á Fedora 28

Að nota annað kerfi? InvoicePlane er ókeypis og opinn uppspretta innheimtuforrit. Frumkóðann hans er að finna á þessari Github geymslu. Þessi leiðarvísir

Settu upp Minecraft netþjón á Fedora 26

Settu upp Minecraft netþjón á Fedora 26

Að nota annað kerfi? Í þessari kennslu mun ég leiðbeina þér í því að setja upp Minecraft netþjón á afkastamikilli SSD VPS hjá Vultr. Þú munt læra hó

Hvernig á að setja saman Nginx frá uppruna á Fedora 25

Hvernig á að setja saman Nginx frá uppruna á Fedora 25

Að nota annað kerfi? NGINX er hægt að nota sem HTTP/HTTPS miðlara, öfugur umboðsþjónn, póstþjónn, álagsjafnari, TLS terminator eða cachin

Hvernig á að setja upp Pagekit 1.0 CMS á Fedora 26 LAMP VPS

Hvernig á að setja upp Pagekit 1.0 CMS á Fedora 26 LAMP VPS

Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með

Hvernig á að setja upp Subrion 4.1 CMS á Fedora 26 LAMP VPS

Hvernig á að setja upp Subrion 4.1 CMS á Fedora 26 LAMP VPS

Að nota annað kerfi? Subrion 4.1 CMS er öflugt og sveigjanlegt opinn efnisstjórnunarkerfi (CMS) sem kemur með leiðandi og skýrt efni

Settu upp TaskServer (taskd) á Fedora 26

Settu upp TaskServer (taskd) á Fedora 26

Að nota annað kerfi? TaskWarrior er opinn uppspretta tímastjórnunarverkfæri sem er endurbót á Todo.txt forritinu og klónum þess. Vegna þ

Hvernig á að setja upp CMS Made Simple 2.2 á Fedora 26 LAMP VPS

Hvernig á að setja upp CMS Made Simple 2.2 á Fedora 26 LAMP VPS

Að nota annað kerfi? CMS Made Simple 2.2 er sveigjanlegt og stækkanlegt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem er skynsamlega hannað til að b.

Setur upp Bro IDS á Fedora 25

Setur upp Bro IDS á Fedora 25

Að nota annað kerfi? Inngangur Bro er opinn netumferðargreiningari. Það er fyrst og fremst öryggiseftirlit sem skoðar alla umferð á línu

Hvernig á að setja upp X-Cart 5 á Fedora 31

Hvernig á að setja upp X-Cart 5 á Fedora 31

Að nota annað kerfi? X-Cart er afar sveigjanlegur netverslunarvettvangur með opinn uppspretta með fullt af eiginleikum og samþættingum. X-Cart frumkóði er gestgjafi

Hvernig á að setja upp Matomo Analytics á Fedora 28

Hvernig á að setja upp Matomo Analytics á Fedora 28

Að nota annað kerfi? Matomo (áður Piwik) er opinn uppspretta greiningarvettvangur, opinn valkostur við Google Analytics. Matomo uppspretta er hýst o

Hvernig á að setja upp MyBB á Fedora 28

Hvernig á að setja upp MyBB á Fedora 28

Að nota annað kerfi? MyBB er ókeypis og opinn uppspretta, leiðandi og stækkanlegt spjallforrit. MyBB frumkóði er hýstur á GitHub. Þessi leiðarvísir mun sho

Hvernig á að setja upp og stilla verkefnaborð á Fedora 30

Hvernig á að setja upp og stilla verkefnaborð á Fedora 30

Að nota annað kerfi? Inngangur TaskBoard er ókeypis og opinn hugbúnaður sem hægt er að nota til að halda utan um hluti sem þarf að gera. Það veitir

Hvernig á að setja upp LimeSurvey CE á Fedora 28

Hvernig á að setja upp LimeSurvey CE á Fedora 28

Að nota annað kerfi? LimeSurvey er opið könnunarforrit skrifað í PHP. LimeSurvey frumkóði er hýstur á GitHub. Þessi handbók mun sýna þér

Hvernig á að setja upp Backdrop CMS 1.8.0 á Fedora 26 LAMP VPS

Hvernig á að setja upp Backdrop CMS 1.8.0 á Fedora 26 LAMP VPS

Að nota annað kerfi? Backdrop CMS 1.8.0 er einfalt og sveigjanlegt, farsímavænt, ókeypis og opið efnisstjórnunarkerfi (CMS) sem gerir okkur kleift að

Hvernig á að setja upp Craft CMS á Fedora 29

Hvernig á að setja upp Craft CMS á Fedora 29

Að nota annað kerfi? Craft CMS er opinn uppspretta CMS skrifað í PHP. Craft CMS frumkóði er hýst á GitHub. Þessi handbók mun sýna þér hvernig á að setja upp

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira