Како компајлирати Нгинк из извора на Федора 25

НГИНКС се може користити као ХТТП/ХТТПС сервер, обрнути прокси сервер, маил проки сервер, балансатор оптерећења, ТЛС терминатор или сервер за кеширање. По дизајну је прилично модуларан. Има изворне модуле и модуле треће стране које је креирала заједница. Написан у програмском језику Ц, то је веома брз и лаган комад софтвера.

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.

Инсталирање НГИНКС-а из изворног кода је релативно „лако“ – преузмите најновију верзију изворног кода НГИНКС-а, конфигуришите је, направите и инсталирајте.

У овом туторијалу користићу главну верзију, која је 1.13.3 у време писања. Ажурирајте бројеве верзија у складу са тим када новије верзије постану доступне.

Захтеви за прављење НГИНКС-а из извора

Обавезни захтеви:

  • Верзија библиотеке ОпенССЛ између 1.0.2 - 1.1.0
  • верзија злиб библиотеке између 1.1.3 - 1.2.11
  • Верзија ПЦРЕ библиотеке између 4.4 - 8.41
  • ГЦЦ Цомпилер

Опциони захтеви:

Пре него што почнете

  1. Креирајте редовног корисника са sudoприступом :

  2. Пређите на новог корисника:

    su - <username>
    
  3. Систем ажурирања:

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

Направи НГИНКС из извора

  1. Инсталирајте „Алатке за развој“, Вим едитор, вгет и гцц-ц++:

    sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
    
  2. Преузмите најновију главну верзију НГИНКС изворног кода и распакујте је:

    wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
    
  3. Преузмите изворни код НГИНКС зависности и распакујте их:

    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. Преузмите и инсталирајте опционе НГИНКС зависности:

    # 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. Уклоните све .tar.gzдатотеке. Не требају нам више:

    rm -rf *.tar.gz
    
  6. Идите у изворни директоријум НГИНКС:

    cd ~/nginx-1.13.3
    
  7. За добру меру, наведите датотеке и директоријуме НГИНКС изворног кода:

    ls
    # auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
    
  8. Копирајте страницу приручника за НГИНКС на /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. За помоћ, можете навести доступне конфигурационе прекидаче тако што ћете покренути:

    ./configure --help
    # To see want core modules can be build as dynamic run:
    ./configure --help | grep -F =dynamic
    
  10. Конфигуришите, компајлирајте и инсталирајте НГИНКС:

    ./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. Одштампајте верзију НГИНКС-а, верзију компајлера и конфигуришите параметре скрипте:

    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. Креирајте корисника и групу НГИНКС система:

    sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
    
  13. Проверите синтаксу и потенцијалне грешке:

    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. Креирајте системску јединичну датотеку за НГИНКС:

    sudo vim /etc/systemd/system/nginx.service
    
  15. Копирајте/налепите следећи садржај:

    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. Покрените НГИНКС:

    sudo systemctl start nginx.service
    
  17. Омогућите НГИНКС да се аутоматски покрене при покретању:

    sudo systemctl enable nginx.service
    
  18. Проверите да ли ће се НГИНКС покренути након поновног покретања:

    sudo systemctl is-enabled nginx.service
    # enabled
    
  19. Проверите да ли је НГИНКС покренут:

    sudo systemctl status nginx.service
    ps aux | grep nginx
    curl -I 127.0.0.1
    
  20. Поново покрените свој ВПС да бисте проверили да ли се НГИНКС покреће аутоматски:

    sudo shutdown -r now
    
  21. Уклоните архаичне датотеке из /etc/nginx/директоријума:

    sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
    
  22. Поставите датотеке за истицање синтаксе НГИНКС конфигурације за vimу ~/.vim/. Биће вам представљено лепо истицање синтаксе када уређујете НГИНКС конфигурациону датотеку:

    mkdir ~/.vim/
    cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
    
  23. Направите conf.d/именик у /etc/nginx/директоријуму. У овај директоријум можете поставити виртуелне сервере и упстреамове:

    sudo mkdir /etc/nginx/conf.d/
    
  24. Уклоните екстраховане директоријуме и датотеке из вашег кућног директоријума:

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

Закључак

То је то. Сада имате инсталирану најновију верзију НГИНКС-а. Саставља се статички у односу на неке важне библиотеке као што је ОпенССЛ. Често је системска ОпенССЛ верзија застарела. Коришћењем овог метода инсталирања са новијом верзијом ОпенССЛ-а, можете искористити предности нових шифара CHACHA20_POLY1305и протокола попут ТЛС 1.3 који ће бити доступни у ОпенССЛ-у 1.1.1(који није објављен у време писања).


Како инсталирати БигТрее ЦМС на Федора 26 ЛАМП ВПС

Како инсталирати БигТрее ЦМС на Федора 26 ЛАМП ВПС

Користите другачији систем? БигТрее ЦМС 4.2 је брз и лаган, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа са обимним

Како инсталирати Коел на Федора 28

Како инсталирати Коел на Федора 28

Користите другачији систем? Коел је једноставна лична апликација за стриминг звука заснована на вебу написана у Вуе-у на страни клијента и Ларавел-у на страни сервера. Кое

Како инсталирати Грав ЦМС на Федора 28

Како инсталирати Грав ЦМС на Федора 28

Користите другачији систем? Грав је ЦМС отвореног кода са равним датотекама написан у ПХП-у. Грав изворни код је јавно хостован на ГитХуб-у. Овај водич ће вам показати како т

Инсталирање Акаунтинга на Федора 28

Инсталирање Акаунтинга на Федора 28

Користите другачији систем? Акаунтинг је бесплатан рачуноводствени софтвер отвореног кода и онлајн рачуноводствени софтвер дизајниран за мала предузећа и слободњаке. Изграђен је духовито

Како инсталирати Тини Тини РСС Реадер на Федора 26 ЛАМП ВПС

Како инсталирати Тини Тини РСС Реадер на Федора 26 ЛАМП ВПС

Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за

Како инсталирати ИнвоицеПлане на Федора 28

Како инсталирати ИнвоицеПлане на Федора 28

Користите другачији систем? ИнвоицеПлане је бесплатна апликација за фактурисање отвореног кода. Његов изворни код се може наћи на овом Гитхуб репозиторијуму. Овај водич

Инсталирајте Минецрафт сервер на Федора 26

Инсталирајте Минецрафт сервер на Федора 26

Користите другачији систем? У овом водичу ћу вас водити кроз подешавање Минецрафт сервера на ССД ВПС-у високих перформанси на Вултр-у. Научићеш хо

Како компајлирати Нгинк из извора на Федора 25

Како компајлирати Нгинк из извора на Федора 25

Користите другачији систем? НГИНКС се може користити као ХТТП/ХТТПС сервер, обрнути прокси сервер, прокси сервер за пошту, балансатор оптерећења, ТЛС терминатор или цацхин

Како инсталирати Пагекит 1.0 ЦМС на Федора 26 ЛАМП ВПС

Како инсталирати Пагекит 1.0 ЦМС на Федора 26 ЛАМП ВПС

Користите другачији систем? Пагекит 1.0 ЦМС је прелеп, модуларан, проширив и лаган, бесплатан систем за управљање садржајем отвореног кода (ЦМС) са

Како инсталирати Субрион 4.1 ЦМС на Федора 26 ЛАМП ВПС

Како инсталирати Субрион 4.1 ЦМС на Федора 26 ЛАМП ВПС

Користите другачији систем? Субрион 4.1 ЦМС је моћан и флексибилан систем за управљање садржајем отвореног кода (ЦМС) који доноси интуитиван и јасан садржај

Инсталирајте ТаскСервер (таскд) на Федора 26

Инсталирајте ТаскСервер (таскд) на Федора 26

Користите другачији систем? ТаскВарриор је алатка за управљање временом отвореног кода која представља побољшање апликације Тодо.ткт и њених клонова. Због тх

Како инсталирати ЦМС Маде Симпле 2.2 на Федора 26 ЛАМП ВПС

Како инсталирати ЦМС Маде Симпле 2.2 на Федора 26 ЛАМП ВПС

Користите другачији систем? ЦМС Маде Симпле 2.2 је флексибилан и проширив, бесплатан и отворени систем за управљање садржајем (ЦМС) интелигентно дизајниран да б

Инсталирање Бро ИДС-а на Федора 25

Инсталирање Бро ИДС-а на Федора 25

Користите другачији систем? Увод Бро је анализатор мрежног саобраћаја отвореног кода. То је првенствено безбедносни монитор који контролише сав саобраћај на линији

Како инсталирати Кс-Царт 5 на Федора 31

Како инсталирати Кс-Царт 5 на Федора 31

Користите другачији систем? Кс-Царт је изузетно флексибилна платформа за е-трговину отвореног кода са мноштвом функција и интеграција. Кс-Царт изворни код је хосте

Како инсталирати Матомо Аналитицс на Федора 28

Како инсталирати Матомо Аналитицс на Федора 28

Користите другачији систем? Матомо (раније Пивик) је аналитичка платформа отвореног кода, отворена алтернатива Гоогле аналитици. Матомо извор је хостован о

Како инсталирати МиББ на Федора 28

Како инсталирати МиББ на Федора 28

Користите другачији систем? МиББ је бесплатан програм отвореног кода, интуитиван и проширив форум. МиББ изворни код се налази на ГитХуб-у. Овај водич ће схо

Како инсталирати и конфигурисати ТаскБоард на Федора 30

Како инсталирати и конфигурисати ТаскБоард на Федора 30

Користите другачији систем? Увод ТаскБоард је бесплатна алатка отвореног кода која се може користити за праћење ствари које треба да се ураде. Обезбеђује

Како инсталирати ЛимеСурвеи ЦЕ на Федора 28

Како инсталирати ЛимеСурвеи ЦЕ на Федора 28

Користите другачији систем? ЛимеСурвеи је програм за истраживање отвореног кода написан у ПХП-у. ЛимеСурвеи изворни код се налази на ГитХуб-у. Овај водич ће вам показати

Како инсталирати Бацкдроп ЦМС 1.8.0 на Федора 26 ЛАМП ВПС

Како инсталирати Бацкдроп ЦМС 1.8.0 на Федора 26 ЛАМП ВПС

Користите другачији систем? Бацкдроп ЦМС 1.8.0 је једноставан и флексибилан, прилагођен мобилним уређајима, бесплатан и отворени систем за управљање садржајем (ЦМС) који нам омогућава

Како инсталирати Црафт ЦМС на Федора 29

Како инсталирати Црафт ЦМС на Федора 29

Користите другачији систем? Црафт ЦМС је ЦМС отвореног кода написан у ПХП-у. Црафт ЦМС изворни код се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више