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ð).

Skildu eftir athugasemd

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.

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.

Þ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.

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